[lkml]   [2009]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 0/7] Kill PF_MEMALLOC abuse
    On Tue, 17 Nov 2009, KOSAKI Motohiro wrote:

    > PF_MEMALLOC have following effects.
    > (1) Ignore zone watermark
    > (2) Don't call reclaim although allocation failure, instead return ENOMEM
    > (3) Don't invoke OOM Killer
    > (4) Don't retry internally in page alloc
    > Some subsystem paid attention (1) only, and start to use PF_MEMALLOC abuse.
    > But, the fact is, PF_MEMALLOC is the promise of "I have lots freeable memory.
    > if I allocate few memory, I can return more much meory to the system!".
    > Non MM subsystem must not use PF_MEMALLOC. Memory reclaim
    > need few memory, anyone must not prevent it. Otherwise the system cause
    > mysterious hang-up and/or OOM Killer invokation.
    > if many subsystem will be able to use emergency memory without any
    > usage rule, it isn't for emergency. it can become empty easily.
    > Plus, characteristics (2)-(4) mean PF_MEMALLOC don't fit to general
    > high priority memory allocation.
    > Thus, We kill all PF_MEMALLOC usage in no MM subsystem.

    I agree in principle with removing non-VM users of PF_MEMALLOC, but I
    think it should be left to the individual subsystem maintainers to apply
    or ack since the allocations may depend on the __GFP_NORETRY | ~__GFP_WAIT
    behavior of PF_MEMALLOC. This could be potentially dangerous for a
    PF_MEMALLOC user if allocations made by the kthread, for example, should
    never retry for orders smaller than PAGE_ALLOC_COSTLY_ORDER or block on
    direct reclaim.

     \ /
      Last update: 2009-11-17 09:11    [W:0.022 / U:7.040 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site