lkml.org 
[lkml]   [2016]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 1.2/2] mm: introduce memalloc_nofs_{save,restore} API
    OK, so the lockdep splats I was seeing [1] were much easier to fix than
    I originally thought. So the following should be folded into the
    original patch. I will send the full patch later on.

    [1] http://lkml.kernel.org/r/20160427200927.GC22544@dhcp22.suse.cz
    ---
    From 1968c0a8ace4090a9deca8f4c1a206ee546e595a Mon Sep 17 00:00:00 2001
    From: Michal Hocko <mhocko@suse.com>
    Date: Wed, 27 Apr 2016 22:32:57 +0200
    Subject: [PATCH] fold me "mm: introduce memalloc_nofs_{save,restore} API"

    Lockdep infrastructure is hooked into early hot paths of the allocator
    so __lockdep_trace_alloc has to check for PF_MEMALLOC_NOFS directly and
    do not rely on current_gfp_context

    Signed-off-by: Michal Hocko <mhocko@suse.com>

    ---
    kernel/locking/lockdep.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
    index 716547fdb873..f60124d0871c 100644
    --- a/kernel/locking/lockdep.c
    +++ b/kernel/locking/lockdep.c
    @@ -2750,7 +2750,7 @@ static void __lockdep_trace_alloc(gfp_t gfp_mask, unsigned long flags)
    return;

    /* We're only interested __GFP_FS allocations for now */
    - if (!(gfp_mask & __GFP_FS))
    + if (!(gfp_mask & __GFP_FS) || (curr->flags & PF_MEMALLOC_NOFS))
    return;

    /*
    --
    2.8.0.rc3
    --
    Michal Hocko
    SUSE Labs

    \
     
     \ /
      Last update: 2016-04-27 23:41    [W:4.964 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site