Messages in this thread | | | Subject | Re: [PATCH 0/3] OOM detection rework v4 | From | Vlastimil Babka <> | Date | Thu, 3 Mar 2016 16:50:16 +0100 |
| |
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.
| |