public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* oom-killer causes lockups in cpuset_excl_nodes_overlap()
@ 2005-12-28  0:40 KUROSAWA Takahiro
  2005-12-31 13:23 ` Kirill Korotaev
  2006-01-03 21:34 ` Paul Jackson
  0 siblings, 2 replies; 3+ messages in thread
From: KUROSAWA Takahiro @ 2005-12-28  0:40 UTC (permalink / raw)
  To: linux-kernel

The oom-killer causes lockups because it calls
cpuset_excl_nodes_overlap() with tasklist_lock read-locked.
cpuset_excl_nodes_overlap() gets cpuset_sem (or callback_sem in
later linux versions) semaphore, which might_sleep even if the
semaphore could be down without sleeping.  If processes call
exit() or fork() when the oom-killer sleeps in the down(), they
lockup because they call write_lock_irq(&tasklist_lock).

The lockup occurred on linux-2.6.14.  The problem also seems to exist
in linux-2.6.15-rc5-mm3 and linux-2.6.15-rc7.

Regards,

-- 
KUROSAWA, Takahiro

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-03 21:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-28  0:40 oom-killer causes lockups in cpuset_excl_nodes_overlap() KUROSAWA Takahiro
2005-12-31 13:23 ` Kirill Korotaev
2006-01-03 21:34 ` Paul Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox