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 ]---
next prev parent 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