Thread (9 messages) 9 messages, 2 authors, 2015-08-14

Re: [PATCH] mm: add the block to the tail of the list in expand()

From: Xishi Qiu <hidden>
Date: 2015-08-03 02:06:35
Also in: lkml

On 2015/8/1 7:24, Dave Hansen wrote:
On 07/31/2015 02:30 AM, Xishi Qiu wrote:
quoted
__free_one_page() will judge whether the the next-highest order is free,
then add the block to the tail or not. So when we split large order block, 
add the small block to the tail, it will reduce fragment.
It's an interesting idea, but what does it do in practice?  Can you
measure a decrease in fragmentation?

Further, the comment above the function says:
 * The order of subdivision here is critical for the IO subsystem.
 * Please do not alter this order without good reasons and regression
 * testing.

Has there been regression testing?

Also, this might not do very much good in practice.  If you are
splitting a high-order page, you are doing the split because the
lower-order lists are empty.  So won't that list_add() be to an empty
Hi Dave,

I made a mistake, you are right, all the lower-order lists are empty,
so it is no sense to add to the tail.

Thanks,
Xishi Qiu
list most of the time?  Or does the __rmqueue_fallback()
largest->smallest logic dominate?

.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help