Sagi Grimberg 21a92735f6 mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may safely schedule
With an RCU based mmu_notifier implementation, any callout to
mmu_notifier_invalidate_range_{start,end}() or
mmu_notifier_invalidate_page() would not be allowed to call schedule()
as that could potentially allow a modification to the mmu_notifier
structure while it is currently being used.

Since srcu allocs 4 machine words per instance per cpu, we may end up
with memory exhaustion if we use srcu per mm.  So all mms share a global
srcu.  Note that during large mmu_notifier activity exit & unregister
paths might hang for longer periods, but it is tolerable for current
mmu_notifier clients.

Signed-off-by: Sagi Grimberg <sagig@mellanox.co.il>
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Haggai Eran <haggaie@mellanox.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:22:23 +09:00
..
2012-05-29 23:28:33 -04:00
2012-01-03 22:54:56 -05:00
2012-10-09 16:22:17 +09:00
2012-10-09 16:22:17 +09:00
2012-10-09 16:22:17 +09:00
2011-07-26 16:49:47 -07:00
2012-07-31 18:42:43 -07:00
2010-05-21 18:31:21 -04:00
2012-07-31 18:42:43 -07:00
2012-06-20 14:39:36 -07:00
2012-06-20 14:39:36 -07:00
2011-05-20 12:50:29 -07:00
2012-05-29 16:22:19 -07:00
2012-10-09 16:22:17 +09:00
2012-07-31 18:42:49 -07:00
2012-05-29 16:22:23 -07:00