locking/lockdep: Rework FS_RECLAIM annotation
authorPeter Zijlstra <peterz@infradead.org>
Fri, 3 Mar 2017 09:13:38 +0000 (10:13 +0100)
committerIngo Molnar <mingo@kernel.org>
Thu, 10 Aug 2017 10:29:03 +0000 (12:29 +0200)
commitd92a8cfcb37ecd1315269dab741f073b63b3a8b6
treebd081c6309a48d23ae074e2035105be13622b005
parenta9668cd6ee288c4838bc668880ac085be551cac2
locking/lockdep: Rework FS_RECLAIM annotation

A while ago someone, and I cannot find the email just now, asked if we
could not implement the RECLAIM_FS inversion stuff with a 'fake' lock
like we use for other things like workqueues etc. I think this should
be possible which allows reducing the 'irq' states and will reduce the
amount of __bfs() lookups we do.

Removing the 1 IRQ state results in 4 less __bfs() walks per
dependency, improving lockdep performance. And by moving this
annotation out of the lockdep code it becomes easier for the mm people
to extend.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Byungchul Park <byungchul.park@lge.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Nikolay Borisov <nborisov@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: akpm@linux-foundation.org
Cc: boqun.feng@gmail.com
Cc: iamjoonsoo.kim@lge.com
Cc: kernel-team@lge.com
Cc: kirill@shutemov.name
Cc: npiggin@gmail.com
Cc: walken@google.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
drivers/gpu/drm/i915/i915_debugfs.c
include/linux/lockdep.h
include/linux/sched.h
include/linux/sched/mm.h
kernel/locking/lockdep.c
kernel/locking/lockdep_states.h
mm/page_alloc.c
mm/slab.h
mm/slob.c
mm/vmscan.c