public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <npiggin@suse.de>, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 01/19] lockdep: annotate reclaim context (__GFP_NOFS)
Date: Thu, 22 Jan 2009 20:40:34 +0100	[thread overview]
Message-ID: <1232653234.4890.135.camel@laptop> (raw)
In-Reply-To: <20090122174052.061744802@chello.nl>

On Thu, 2009-01-22 at 18:37 +0100, Peter Zijlstra wrote:
>  
> +void lockdep_trace_alloc(gfp_t gfp_mask)
> +{
> +       struct task_struct *curr = current;
> +
> +       /* this guy won't enter reclaim */
> +       if (curr->flags & PF_MEMALLOC)
> +               return;
> +
> +       /* We're only interested __GFP_FS allocations for now */
> +       if (!(gfp_mask & __GFP_FS))
> +               return;
> +
> +       if (unlikely(!debug_locks))
> +               return;
> +       if (DEBUG_LOCKS_WARN_ON(irqs_disabled()))
> +               return;
> +
> +       mark_held_locks(curr, RECLAIM_FS);
> +}

Not quite seeing how this happens though...

[    6.998258] WARNING: at /usr/src/linux-2.6/kernel/lockdep.c:2266 lockdep_trace_alloc+0x58/0x69()                                                             
[    7.003081] Hardware name: To Be Filled By O.E.M.                            
[    7.003081] Modules linked in: shpchp                                        
[    7.003081] Pid: 726, comm: grep Not tainted 2.6.29-rc2-tip #53     
[    7.003081] Call Trace:                                                      
[    7.003081]  [<ffffffff8023fcc0>] warn_slowpath+0xd8/0x114                   
[    7.003081]  [<ffffffff80235dc6>] ? enqueue_task_fair+0x235/0x286            
[    7.003081]  [<ffffffff80261d7f>] ? trace_hardirqs_off+0xd/0xf               
[    7.003081]  [<ffffffff8054fc8a>] ? _spin_unlock_irqrestore+0x3d/0x4c        
[    7.003081]  [<ffffffff8023c1c6>] ? try_to_wake_up+0x2ba/0x2cc               
[    7.003081]  [<ffffffff80262c05>] ? mark_held_locks+0x8a/0xa9                
[    7.003081]  [<ffffffff8054fc91>] ? _spin_unlock_irqrestore+0x44/0x4c        
[    7.003081]  [<ffffffff80262e67>] ? trace_hardirqs_on+0xd/0xf                
[    7.003081]  [<ffffffff802333cd>] ? __wake_up+0x48/0x55                      
[    7.003081]  [<ffffffff80262c7c>] lockdep_trace_alloc+0x58/0x69              
[    7.003081]  [<ffffffff8029e34f>] __alloc_pages_internal+0x72/0x439          
[    7.003081]  [<ffffffff802e6f7e>] ? unlock_buffer+0x17/0x19                  
[    7.003081]  [<ffffffff802e9117>] ? __bread+0x45/0x92                        
[    7.003081]  [<ffffffff803201cf>] ? ext3_get_branch+0x7b/0xee                
[    7.003081]  [<ffffffff8029aae8>] ? mempool_alloc_slab+0x16/0x18             
[    7.003081]  [<ffffffff802c1aee>] __slab_alloc+0x1a2/0x569                   
[    7.003081]  [<ffffffff8029aae8>] ? mempool_alloc_slab+0x16/0x18             
[    7.003081]  [<ffffffff80262c05>] ? mark_held_locks+0x8a/0xa9                
[    7.003081]  [<ffffffff8029aae8>] ? mempool_alloc_slab+0x16/0x18             
[    7.003081]  [<ffffffff802c1f30>] kmem_cache_alloc+0x7b/0xbd                 
[    7.003081]  [<ffffffff8029aae8>] mempool_alloc_slab+0x16/0x18               
[    7.003081]  [<ffffffff8029abce>] mempool_alloc+0x4f/0x107                   
[    7.003081]  [<ffffffff802ea151>] bio_alloc_bioset+0x30/0x106                
[    7.003081]  [<ffffffff802ea2a0>] bio_alloc+0x15/0x24                        
[    7.003081]  [<ffffffff802ed6cf>] mpage_alloc+0x2b/0x86                      
[    7.003081]  [<ffffffff802ee15c>] do_mpage_readpage+0x3f8/0x4eb              
[    7.003081]  [<ffffffff80262e67>] ? trace_hardirqs_on+0xd/0xf                
[    7.003081]  [<ffffffff80298ed9>] ? add_to_page_cache_locked+0x9f/0xae       
[    7.003081]  [<ffffffff802ee37a>] mpage_readpages+0xd4/0x117                 
[    7.003081]  [<ffffffff803217ab>] ? ext3_get_block+0x0/0x101                 
[    7.003081]  [<ffffffff803217ab>] ? ext3_get_block+0x0/0x101                 
[    7.003081]  [<ffffffff8029e3d7>] ? __alloc_pages_internal+0xfa/0x439        
[    7.003081]  [<ffffffff80320e75>] ext3_readpages+0x1f/0x21                   
[    7.003081]  [<ffffffff802a0573>] __do_page_cache_readahead+0x165/0x1fe      
[    7.003081]  [<ffffffff802a0481>] ? __do_page_cache_readahead+0x73/0x1fe     
[    7.003081]  [<ffffffff80298a37>] ? find_get_page+0x0/0xcf                   
[    7.003081]  [<ffffffff802a0667>] do_page_cache_readahead+0x5b/0x68          
[    7.003081]  [<ffffffff802992f3>] filemap_fault+0x16f/0x341                  
[    7.003081]  [<ffffffff802aac3a>] __do_fault+0x59/0x3c5                      
[    7.003081]  [<ffffffff802acdf4>] handle_mm_fault+0x318/0x6a8                
[    7.003081]  [<ffffffff80552337>] do_page_fault+0x1fc/0x213                  
[    7.003081]  [<ffffffff8055031f>] page_fault+0x1f/0x30                       
[    7.003081] ---[ end trace f2b79ed5a3eafb2f ]---  


  reply	other threads:[~2009-01-22 19:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-22 17:37 [RFC PATCH 00/19] lockdep series Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 01/19] lockdep: annotate reclaim context (__GFP_NOFS) Peter Zijlstra
2009-01-22 19:40   ` Peter Zijlstra [this message]
2009-01-22 20:29     ` Peter Zijlstra
2009-01-23  7:33       ` Nick Piggin
2009-01-23  8:00         ` Peter Zijlstra
2009-01-23 15:08           ` Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 02/19] lockdep: sanitize bit names Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 03/19] lockdep: sanitize reclaim " Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 04/19] lockdep: lockdep_states.h Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 05/19] lockdep: simplify mark_held_locks Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 06/19] lockdep: simplify mark_lock() Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 07/19] lockdep: move state bit definitions around Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 08/19] lockdep: generate the state bit definitions Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 09/19] lockdep: generate usage strings Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 10/19] lockdep: split up mark_lock_irq() Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 11/19] lockdep: simplify the mark_lock_irq() helpers Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 12/19] lockdep: further simplify " Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 13/19] simplify mark_lock_irq() helpers #3 Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 14/19] lockdep: merge the _READ mark_lock_irq() helpers Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 15/19] lockdep: merge the !_READ " Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 16/19] lockdep: fully reduce mark_lock_irq() Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 17/19] lockdep: simplify get_user_chars() Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 18/19] lockdep: get_user_chars() redo Peter Zijlstra
2009-01-22 17:37 ` [RFC PATCH 19/19] lockdep: simplify check_prev_add_irq() Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1232653234.4890.135.camel@laptop \
    --to=a.p.zijlstra@chello.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox