On 03/03/2016 03:10 PM, Joonsoo Kim wrote: > >> [...] >>>>> At least, reset no_progress_loops when did_some_progress. High >>>>> order allocation up to PAGE_ALLOC_COSTLY_ORDER is as important >>>>> as order 0. And, reclaim something would increase probability of >>>>> compaction success. >>>> >>>> This is something I still do not understand. Why would reclaiming >>>> random order-0 pages help compaction? Could you clarify this please? >>> >>> I just can tell simple version. Please check the link from me on another reply. >>> Compaction could scan more range of memory if we have more freepage. >>> This is due to algorithm limitation. Anyway, so, reclaiming random >>> order-0 pages helps compaction. >> >> I will have a look at that code but this just doesn't make any sense. >> The compaction should be reshuffling pages, this shouldn't be a function >> of free memory. > > Please refer the link I mentioned before. There is a reason why more free > memory would help compaction success. Compaction doesn't work > like as random reshuffling. It has an algorithm to reduce system overall > fragmentation so there is limitation. I proposed another way to get better results from direct compaction - don't scan for free pages but get them directly from freelists: https://lkml.org/lkml/2015/12/3/60 But your redesign would be useful too for kcompactd/khugepaged keeping overall fragmentation low. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>