Ingo Molnar wrote: > i have released the -U8 Real-Time Preemption patch: > > http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.9-rc4-mm1-U8 > used i386/defconfig 1. at boot [...skip...] hda: 78242976 sectors (40060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100) hda: hda1 hda2 hda3 hda4 < hda5 > BUG: semaphore recursion deadlock detected! .. current task khpsbpkt/723 is already holding c04610c0. 00001f23 00001f2f c04e8de9 00000086 00000009 00000000 c011b552 00000020 00000400 c03b3efa dfdc9f70 dfdc9f50 0000000c dfdc78f0 c011b430 c03b3efa dfdc9f70 c01052a5 c03b3efa c03b3efa 00000000 dfdc78f0 dfdc78f0 c01fd364 Call Trace: [] __kernel_text_address+0x2e/0x37 (24) [] show_trace+0x4e/0xcc (12) [] show_stack+0x82/0x97 (36) [] __rwsem_deadlock+0xd9/0x135 (24) [] down_write_interruptible+0xe6/0x202 (48) [] hpsbpkt_thread+0x2b/0x86 (48) [] hpsbpkt_thread+0x0/0x86 (12) [] kernel_thread_helper+0x5/0xb (4) preempt count: 00000003 . 3-level deep critical section nesting: .. entry 1: _spin_lock_irqsave+0x19/0x74 / (0x0) .. entry 2: _spin_lock+0x19/0x6d / (0x0) .. entry 3: print_traces+0x17/0x50 / (0x0) [...skip...] 2. if execute ``for i in `seq 1 9999`; do nohup bash >/dev/null 2>&1 & done'', then you'll get something like: [...skip...] Warning: dev (pts0) tty->count(16) != #fd's(8) in tty_open Warning: dev (pts0) tty->count(16) != #fd's(11) in tty_open Warning: dev (pts0) tty->count(17) != #fd's(13) in tty_open Warning: dev (pts0) tty->count(18) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(18) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(18) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(19) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(19) != #fd's(16) in release_dev Warning: dev (pts0) tty->count(18) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(18) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(19) != #fd's(17) in tty_open Warning: dev (pts0) tty->count(19) != #fd's(17) in release_dev Warning: dev (pts0) tty->count(18) != #fd's(17) in tty_open Warning: dev (pts0) tty->count(18) != #fd's(17) in tty_open Warning: dev (pts0) tty->count(19) != #fd's(17) in release_dev Warning: dev (pts0) tty->count(17) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(16) != #fd's(19) in release_dev Warning: dev (pts0) tty->count(15) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(14) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(14) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(13) != #fd's(18) in tty_open Warning: dev (pts0) tty->count(14) != #fd's(19) in release_dev Warning: dev (pts0) tty->count(13) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(13) != #fd's(17) in release_dev Warning: dev (pts0) tty->count(12) != #fd's(18) in tty_open Warning: dev (pts0) tty->count(12) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(12) != #fd's(18) in release_dev Warning: dev (pts0) tty->count(28) != #fd's(16) in tty_open Warning: dev (pts0) tty->count(528) != #fd's(13) in tty_open Warning: dev (pts0) tty->count(528) != #fd's(13) in release_dev Warning: dev (pts0) tty->count(527) != #fd's(12) in tty_open Warning: dev (pts0) tty->count(528) != #fd's(12) in release_dev Warning: dev (pts0) tty->count(538) != #fd's(28) in release_dev Warning: dev (pts0) tty->count(537) != #fd's(528) in tty_open Warning: dev (pts0) tty->count(537) != #fd's(527) in release_dev Warning: dev (pts0) tty->count(536) != #fd's(527) in tty_open Warning: dev (pts0) tty->count(536) != #fd's(527) in tty_open Warning: dev (pts0) tty->count(536) != #fd's(527) in release_dev Warning: dev (pts0) tty->count(535) != #fd's(527) in tty_open Warning: dev (pts0) tty->count(535) != #fd's(530) in tty_open [...skip...] Warning: dev (pts0) tty->count(11) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(10) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(9) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(8) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(7) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(6) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(5) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(4) != #fd's(71) in release_dev Warning: dev (pts0) tty->count(3) != #fd's(71) in release_dev eggcups: page allocation failure. order:1, mode:0x20 [] __alloc_pages+0x228/0x3ff (8) [] __get_free_pages+0x1f/0x3b (68) [] kmem_getpages+0x25/0xe0 (8) [...skip...] I'v tested it against linux-2.6.9-rc4-mm1 => all was ok See full logs in attachments -bash