lkml.org 
[lkml]   [2009]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 1/7] dm: use __GFP_HIGH instead PF_MEMALLOC
    Date
    Hi,

    Thank you for give me comment.

    > On Tue, Nov 17, 2009 at 04:17:07PM +0900, KOSAKI Motohiro wrote:
    > > 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.
    >
    > This code is also on the critical path, for example, if you are swapping
    > onto a dm device. (There are ways we could reduce its use further as
    > not every dm ioctl needs to be on the critical path and the buffer size
    > could be limited for the ioctls that do.)

    May I ask one additional question?
    Original code is here.

    -------------------------------------------------------
    /*
    * Trying to avoid low memory issues when a device is
    * suspended.
    */
    current->flags |= PF_MEMALLOC;

    /*
    * Copy the parameters into kernel space.
    */
    r = copy_params(user, &param);

    current->flags &= ~PF_MEMALLOC;
    -------------------------------------------------------

    but PF_MEMALLOC doesn't gurantee allocation successfull. In your case,
    mempoll seems better to me. copy_params seems enough small function
    and we can rewrite it. Why didn't you use mempool?

    Am I missing something?


    > But what situations have been causing you trouble? The OOM killer must
    > generally avoid killing userspace processes that suspend & resume dm
    > devices, and there are tight restrictions on what those processes
    > can do safely between suspending and resuming.

    No. This is theorical issue. but I really want to avoid stress weakness
    kernel.







    \
     
     \ /
      Last update: 2009-11-18 07:21    [W:0.024 / U:118.984 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site