Oleg Nesterov
aa1757f90b
[PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU
...
This patch borrows a clever Hugh's 'struct anon_vma' trick.
Without tasklist_lock held we can't trust task->sighand until we locked it
and re-checked that it is still the same.
But this means we don't need to defer 'kmem_cache_free(sighand)'. We can
return the memory to slab immediately, all we need is to be sure that
sighand->siglock can't dissapear inside rcu protected section.
To do so we need to initialize ->siglock inside ctor function,
SLAB_DESTROY_BY_RCU does the rest.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-28 18:36:42 -08:00
..
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-23 07:38:17 -08:00
2006-03-28 09:16:06 -08:00
2006-01-18 19:20:28 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-26 08:56:55 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-26 08:56:55 -08:00
2006-03-28 09:16:06 -08:00
2005-10-30 17:37:32 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2005-10-11 09:46:54 -07:00
2006-03-28 09:16:06 -08:00
2006-03-24 07:33:19 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-27 08:44:59 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2005-10-30 17:37:32 -08:00
2006-03-28 09:16:06 -08:00
2006-03-25 08:23:00 -08:00
2006-01-11 18:42:13 -08:00
2006-03-28 09:16:06 -08:00
2006-01-10 08:01:25 -08:00
2006-03-24 18:38:48 +01:00
2006-03-25 09:10:52 -08:00
2005-04-16 15:20:36 -07:00
2006-03-25 08:23:01 -08:00
2006-03-28 09:16:06 -08:00
2005-04-16 15:20:36 -07:00
2005-10-29 21:40:38 -07:00
2006-03-26 08:57:00 -08:00
2006-03-28 09:16:06 -08:00
2006-03-27 08:44:48 -08:00
2006-03-28 09:16:06 -08:00
2006-03-24 07:33:19 -08:00
2006-03-28 09:16:04 -08:00
2006-03-26 09:41:18 -08:00
2006-03-26 08:56:56 -08:00
2006-03-26 08:57:01 -08:00
2006-03-26 08:56:56 -08:00
2006-03-24 07:33:23 -08:00
2006-01-08 20:12:40 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 18:36:42 -08:00
2006-03-26 08:56:56 -08:00
2006-03-28 09:16:06 -08:00
2006-03-23 07:38:17 -08:00
2006-03-28 09:16:05 -08:00
2005-10-30 17:37:32 -08:00
2006-03-25 08:22:56 -08:00
2006-03-28 09:16:05 -08:00
2006-03-28 09:16:06 -08:00
2006-01-11 18:42:13 -08:00
2006-01-11 18:42:13 -08:00
2006-03-23 23:44:19 -05:00
2006-01-08 20:13:36 -08:00
2006-03-28 09:16:06 -08:00
2006-03-26 08:56:56 -08:00
2006-03-23 19:56:55 +01:00
2006-03-28 09:16:08 -08:00
2006-03-26 08:57:01 -08:00
2006-03-27 08:44:40 -08:00
2006-03-27 08:44:40 -08:00
2006-03-24 07:33:19 -08:00
2006-03-25 09:24:53 -08:00
2006-03-28 09:16:06 -08:00
2006-03-24 07:33:24 -08:00
2005-11-07 18:18:11 -08:00
2005-10-08 15:00:57 -07:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:11 -08:00
2006-03-28 09:16:06 -08:00
2006-01-09 15:59:24 -08:00
2006-03-28 09:16:05 -08:00
2006-03-23 07:38:12 -08:00
2006-02-11 21:41:10 -08:00
2006-03-26 08:56:55 -08:00
2005-04-16 15:20:36 -07:00
2006-03-20 14:08:53 -05:00