Files
kernel/include/linux
Eric Paris f44aebcc56 inotify: use GFP_NOFS under potential memory pressure
inotify can have a watchs removed under filesystem reclaim.

=================================
[ INFO: inconsistent lock state ]
2.6.31-rc2 #16
---------------------------------
inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage.
khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (iprune_mutex){+.+.?.}, at: [<c10ba899>] invalidate_inodes+0x20/0xe3
{IN-RECLAIM_FS-W} state was registered at:
  [<c10536ab>] __lock_acquire+0x2c9/0xac4
  [<c1053f45>] lock_acquire+0x9f/0xc2
  [<c1308872>] __mutex_lock_common+0x2d/0x323
  [<c1308c00>] mutex_lock_nested+0x2e/0x36
  [<c10ba6ff>] shrink_icache_memory+0x38/0x1b2
  [<c108bfb6>] shrink_slab+0xe2/0x13c
  [<c108c3e1>] kswapd+0x3d1/0x55d
  [<c10449b5>] kthread+0x66/0x6b
  [<c1003fdf>] kernel_thread_helper+0x7/0x10
  [<ffffffff>] 0xffffffff

Two things are needed to fix this.  First we need a method to tell
fsnotify_create_event() to use GFP_NOFS and second we need to stop using
one global IN_IGNORED event and allocate them one at a time.  This solves
current issues with multiple IN_IGNORED on a queue having tail drop
problems and simplifies the allocations since we don't have to worry about
two tasks opperating on the IGNORED event concurrently.

Signed-off-by: Eric Paris <eparis@redhat.com>
2009-07-21 15:26:27 -04:00
..
2009-06-17 19:41:52 +02:00
2009-06-22 16:56:22 -07:00
2009-06-18 08:46:47 +10:00
2009-06-30 18:56:00 -07:00
2009-07-12 12:22:34 -07:00
2009-06-17 00:36:36 -04:00
2009-06-30 18:55:58 -07:00
2009-06-01 06:21:13 +00:00
2009-06-11 21:36:09 -04:00
2009-06-22 10:12:35 +01:00
2009-07-12 12:22:34 -07:00
2009-05-29 08:40:01 -07:00
2009-06-11 08:50:57 -07:00
2009-06-11 21:36:06 -04:00
2009-07-12 13:02:10 -07:00
2009-06-22 10:12:30 +01:00
2009-06-22 10:12:35 +01:00
2009-06-17 09:33:49 -07:00
2009-07-08 09:18:05 -07:00
2009-06-24 08:17:04 -04:00
2009-06-30 18:56:00 -07:00
2009-06-15 21:30:25 -07:00
2009-06-24 08:15:27 -04:00
2009-06-18 18:40:18 -04:00
2009-06-30 20:12:24 +02:00
2009-06-18 13:04:05 -07:00
2009-07-12 12:22:34 -07:00
2009-06-03 14:05:10 -04:00
2009-05-19 16:02:02 -07:00
2009-06-29 08:59:10 +10:00
2009-06-02 00:45:24 -07:00
2009-06-18 13:03:57 -07:00
2009-06-18 13:03:56 -07:00
2009-06-22 10:12:35 +01:00
2009-06-15 15:49:23 +02:00
2009-06-10 11:48:39 +03:00
2009-06-23 20:21:39 +01:00
2009-07-17 21:47:44 +09:30
2009-06-16 19:47:57 -07:00
2009-06-16 19:47:48 -07:00
2009-06-16 08:40:20 +02:00
2009-06-11 19:05:32 +02:00
2009-05-25 00:55:45 -07:00
2009-06-16 19:50:13 -07:00
2009-06-25 11:22:13 -07:00
2009-07-08 09:31:56 -07:00
2009-06-18 13:03:57 -07:00
2009-06-11 21:36:02 -04:00
2009-06-11 21:36:01 -04:00
2009-06-17 18:02:11 -07:00
2009-06-17 18:02:11 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 18:02:11 -07:00
2009-06-15 21:44:43 -07:00
2009-06-29 12:14:51 -07:00
2009-06-30 18:55:59 -07:00
2009-06-18 13:04:04 -07:00
2009-06-18 13:04:04 -07:00
2009-06-11 21:36:12 -04:00
2009-07-12 12:22:34 -07:00
2009-06-24 08:17:06 -04:00
2009-07-10 14:24:05 -07:00
2009-06-11 08:50:58 -07:00
2009-06-24 08:17:06 -04:00
2009-06-15 15:50:49 +02:00
2009-06-16 19:47:48 -07:00
2009-06-23 12:50:05 -07:00
2009-07-06 13:57:03 -07:00
2009-06-11 08:50:59 -07:00
2009-06-11 08:51:01 -07:00
2009-07-12 15:16:39 -07:00
2009-07-17 21:47:47 +09:30