CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4
Subsystems (28)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
In reply to Ingo MolnarQuoted 66 lines · Ingo Molnar
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes and cleanups.
Changes between -V0.7.12 and -V0.7.18:
- merged to 2.6.10-rc1-mm3
- fixed the e1000 xmit warnings reported by Amit Shah. Same fix for tg3 too.
- added irq-latency fix from Thomas Gleixner: re-enable interrupts before adding timings to the entropy pool.
- fixed excessive ksoftirqd overhead during outgoing TCP traffic. ksoftirqd kept getting re-woken while it had no way to progress.
- added upstream fix from Andi Kleen for the vmalloc bug causing module load problems/crashes. Added ipc/shm fix too.
Changes between -V0.7.1 and -V0.7.12:
- big source level cleanups: completely rearranged the mutex type definitions and source files, to make it reflect the code. Made all locking objects based on a new, central lock type: struct
rt_mutex. This type is never exposed externally, it is internal to the RT code. Unified all the RT locking code inkernel/rt.c, this also simplified and sped things up. Undid collateral damage to the generic rwsem code - it is now untouched and independent of the RT code.- rearranged the way spinlocks interact with the RT code and cleaned up the RT spinlock definitions. Found and fixed a bug in the process:
rwlocks were dropping the BKL upon contention.- small x86 speedup: call
__schedulenotpreempt_schedule_irqfromwork_resched.- ported
PREEMPT_RTto x64. This resulted in the generalization of some of the x86 changes.- hopefully fixed fbcon kernel logging
- hacked reiser4 to make it work on
PREEMPT_REALTIME.- dropped the swap-layout-improvements patch. While it was working fine it's not necessary for latencies anymore under the
PREEMPT_REALTIMEapproach, and the swap-patch was getting intrusive.- fixed preemption-bug in
drain_cpu_caches()on SMP [bug introduced byPREEMPT_REALTIME]- new attempt at getting rid of the networking related deadlocks
- selinux deadlock fix and RCU-code conversion to RT semantics
to create a -V0.7.18 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.18
Quoted 9 lines
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Got a bug:
Assertion failure in __journal_unfile_buffer() at fs/jbd/transaction.c:1447: "jbd_is_locked_bh_state(bh)" BUG at fs/jbd/transaction.c:1447!
------------[ cut here ]------------ kernel BUG at fs/jbd/transaction.c:1447! invalid operand: 0000 [#1] PREEMPT Modules linked in: reiser4 radeon airo_cs airo ohci_hcd ehci_hcd 8139cp mii ohci1394 ieee1394 snd_intel8x0 snd_ac97_codec usbhid uhci_hcd intel_agp agpgart snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd usbcore vfat fat CPU: 0 EIP: 0060:[<c01d69d2>] Not tainted VLI EFLAGS: 00010246 (2.6.10-rc1-mm3-RT-V0.7.18)
EIP is at __journal_unfile_buffer+0x102/0x230
eax: 00000022 ebx: c0ef211c ecx: c0378081 edx: cf951d7c
esi: cb2185c4 edi: cb2185c4 ebp: 00000000 esp: cf951d78
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kjournald (pid: 6286, threadinfo=cf950000 task=cf941320)
Stack: c0378081 c037f479 000005a7 c0386db4 c036b2a3 c037f479 000005a7 c037f5e4
c0ef211c cb2185c4 00000000 cb299580 c01d7aec c0ef211c cf651250
00000001
cb2995b8 cf651014 cf950000 cf950000 c0137f43 00000000 00000000
00000000
Call Trace:
[<c01d7aec>] journal_commit_transaction+0x2dc/0x12a0 (52)
[<c0137f43>] __up_mutex+0x293/0x470 (32)
[<c011ccf0>] recalc_task_prio+0xd0/0x210 (28)
[<c011ce8b>] activate_task+0x5b/0x90 (40)
[<c013947a>] trace_start_sched_wakeup+0xca/0xf0 (16)
[<c01daf39>] kjournald+0xe9/0x260 (284)
[<c0136720>] autoremove_wake_function+0x0/0x40 (32)
[<c0136720>] autoremove_wake_function+0x0/0x40 (32)
[<c011d3de>] finish_task_switch+0x3e/0xb0 (20)
[<c012a4c6>] __mod_timer+0x36/0x1c0 (48)
[<c01dae30>] commit_timeout+0x0/0x10 (24)
[<c01dae50>] kjournald+0x0/0x260 (12)
[<c01042b5>] kernel_thread_helper+0x5/0x10 (16)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0106971>] .... die+0x31/0x180
.....[<00000000>] .. ( <= 0x0)
.. [<c013960c>] .... print_traces+0xc/0x40
.....[<00000000>] .. ( <= 0x0)
Code: 05 00 00 68 79 f4 37 c0 68 a3 b2 36 c0 68 b4 6d 38 c0 e8 a2 b4 f4 ff 68 a7 05 00 00 68 79 f4 37 c0 68 81 80 37 c0 e8 8e b4 f4 ff <0f> 0b a7 05 79 f4 37 c0 83 c4 20 e9 07 ff ff ff 8d b4 26 00 00
kjournald:6286 BUG: lock held at task exit time! [cf651250] {&journal->j_list_lock}
.. held by: kjournald/ 6286 [cf941320, 116]
... acquired at: journal_commit_transaction+0x2a9/0x12a0
BUG at kernel/timer.c:166!
------------[ cut here ]------------ kernel BUG at kernel/timer.c:166! invalid operand: 0000 [#2] PREEMPT Modules linked in: reiser4 radeon airo_cs airo ohci_hcd ehci_hcd 8139cp mii ohci1394 ieee1394 snd_intel8x0 snd_ac97_codec usbhid uhci_hcd intel_agp agpgart snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd usbcore vfat fat CPU: 0 EIP: 0060:[<c012a5f2>] Not tainted VLI EFLAGS: 00010296 (2.6.10-rc1-mm3-RT-V0.7.18)
EIP is at __mod_timer+0x162/0x1c0
eax: 0000001b ebx: 00000000 ecx: c0378081 edx: c13ddcc8
esi: cf951f90 edi: cb299480 ebp: cf651014 esp: c13ddcc4
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process pdflush (pid: 165, threadinfo=c13dc000 task=c13db970)
Stack: c0378081 c037a8eb 000000a6 00000000 c037f48e cb299480 cf651000 cb299480
cf651014 c01d4c37 cf951f90 0008ec57 00000000 cf651000 c01d4d60
cf651000
cb299480 cf651014 c13e7780 c13e77c4 c0138573 c13e77c4 00000001
c0149843
Call Trace:
[<c01d4c37>] get_transaction+0x67/0xd0 (40)
[<c01d4d60>] start_this_handle+0xc0/0x3e0 (20)
[<c0138573>] up_mutex+0x23/0xa0 (24)
[<c0149843>] cache_grow+0x133/0x250 (12)
[<c0137f43>] __up_mutex+0x293/0x470 (36)
[<c0149e5b>] kmem_cache_alloc+0x4b/0xd0 (16)
[<c0149e5b>] kmem_cache_alloc+0x4b/0xd0 (12)
[<c0138573>] up_mutex+0x23/0xa0 (12)
[<c0149e5b>] kmem_cache_alloc+0x4b/0xd0 (12)
[<c0149e5b>] kmem_cache_alloc+0x4b/0xd0 (12)
[<c01d5154>] journal_start+0x94/0xc0 (32)
[<c01c7dd5>] ext3_ordered_writepage+0x65/0x190 (24)
[<c0183fc1>] mpage_writepages+0x261/0x410 (28)
[<c01c7d70>] ext3_ordered_writepage+0x0/0x190 (24)
[<c0137f43>] __up_mutex+0x293/0x470 (52)
[<c0182063>] __sync_single_inode+0x53/0x280 (16)
[<c01466f9>] do_writepages+0x39/0x40 (28)
[<c018206f>] __sync_single_inode+0x5f/0x280 (16)
[<c01822be>] __writeback_single_inode+0x2e/0x140 (36)
[<c036483d>] __down_mutex+0xed/0x390 (24)
[<c036483d>] __down_mutex+0xed/0x390 (12)
[<c0364a04>] __down_mutex+0x2b4/0x390 (16)
[<c0182569>] generic_sync_sb_inodes+0x199/0x300 (40)
[<c01827cc>] writeback_inodes+0xcc/0xe0 (48)
[<c0146f80>] pdflush+0x0/0x30 (24)
[<c01464d3>] wb_kupdate+0x93/0x110 (4)
[<c0146e78>] __pdflush+0xb8/0x1c0 (56)
[<c0146e80>] __pdflush+0xc0/0x1c0 (36)
[<c0146f9e>] pdflush+0x1e/0x30 (20)
[<c0146440>] wb_kupdate+0x0/0x110 (20)
[<c03634f1>] schedule+0x31/0x100 (20)
[<c0136243>] kthread+0x83/0xc0 (8)
[<c01361c0>] kthread+0x0/0xc0 (20)
[<c01042b5>] kernel_thread_helper+0x5/0x10 (16)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0106971>] .... die+0x31/0x180
.....[<00000000>] .. ( <= 0x0)
.. [<c013960c>] .... print_traces+0xc/0x40
.....[<00000000>] .. ( <= 0x0)
Code: e4 00 00 39 5e 4c 58 0f 84 6a ff ff ff 68 e0 32 3c c0 e9 27 ff ff ff 68 a6 00 00 00 68 eb a8 37 c0 68 81 80 37 c0 e8 6e 78 ff ff <0f> 0b a6 00 eb a8 37 c0 83 c4 0c e9 ab fe ff ff 68 a5 00 00 00
pdflush:165 BUG: lock held at task exit time!
[cf725840] {&s->s_umount}
.. held by: pdflush/ 165 [c13db970, 115]
... acquired at: writeback_inodes+0x4b/0xe0
pdflush:165 BUG: lock held at task exit time!
[cf651014] {&journal->j_state_lock}
.. held by: pdflush/ 165 [c13db970, 115]
... acquired at: start_this_handle+0x61/0x3e0
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
Quoted 5 lines · Gunther Persoons
Got a bug:
Assertion failure in
__journal_unfile_buffer()atfs/jbd/transaction.c:1447: "jbd_is_locked_bh_state(bh)" BUG atfs/jbd/transaction.c:1447!
<AOL>
Me too.
</AOL>
Signature · 1 line
I route therefore you are
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
In reply to Ingo MolnarQuoted 8 lines · Ingo Molnar
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes and cleanups.
Sorry. Build error for a non-debug configuration:
drivers/char/drm/drm_stub.c: In function `drm_fill_in_dev':drivers/char/drm/drm_stub.c:60: error: parse error before '{' token make[3]: *** [drivers/char/drm/drm_stub.o] Error 1 make[2]: *** [drivers/char/drm] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2
If CONFIG_DEBUG_PREEMPT and/or CONFIG_RT_DEADLOCK_DETECT are set, the RT-V0.7.18 build succeeds.
Not big deal. However, my personal benchmarks (jackd-R + 8*fluidsynth) are being based on production-like kernel configurations (no kernel debug options set), so I guess it will have to wait :)
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
Quoted 10 lines · Rui Nuno Capela
Sorry. Build error for a non-debug configuration:
drivers/char/drm/drm_stub.c: In function `drm_fill_in_dev':drivers/char/drm/drm_stub.c:60: error: parse error before '{' token make[3]: *** [drivers/char/drm/drm_stub.o] Error 1 make[2]: *** [drivers/char/drm] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2
make that line look like:
spin_lock_init( &dev->count_lock );
Quoted 8 lines
If
CONFIG_DEBUG_PREEMPTand/orCONFIG_RT_DEADLOCK_DETECTare set, the RT-V0.7.18 build succeeds.Not big deal. However, my personal benchmarks (jackd-R + 8*fluidsynth) are being based on production-like kernel configurations (no kernel debug options set), so I guess it will have to wait :)
Cheers.
Signature · 1 line
Peter Zijlstra <[email protected]>
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
In reply to Ingo MolnarQuoted 6 lines · Ingo Molnar
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
I'm having trouble modprobe'ing the alsasound drivers ever since RT-V0.7.11, to latest RT-V0.7.18, and I suspect this applies to -mm3 as well.
The most evident trouble happens while unloading the modules, either on shutdown or doing simple modprobe -r or rmmod. The system hangs completely. On my P4/SMT machine it doesn't spit anything out to the serial console. Nada. OTOH, on my P4/UP laptop, I found that it does behave a litle more verbose, as the following syslog excerpt:
Nov 6 20:29:52 lambda alsa: Shutting down ALSA sound driver (version 1.0.6): Nov 6 20:29:55 lambda kernel: usbcore: deregistering driver snd-usb-usx2y Nov 6 20:29:55 lambda alsa: /etc/rc6.d/K70alsa: line 287: 15938
Segmentation fault /sbin/rmmod echo $line | cut -d ' ' -f 1
Quoted 1 line
/dev/null2>&1
Nov 6 20:29:55 lambda kernel: BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Nov 6 20:29:55 lambda kernel: printing eip: Nov 6 20:29:55 lambda kernel: c012ae47 Nov 6 20:29:55 lambda kernel: *pde = 00000000 Nov 6 20:29:55 lambda kernel: Oops: 0000 [#1] Nov 6 20:29:55 lambda kernel: PREEMPT Nov 6 20:29:55 lambda kernel: Modules linked in: realtime commoncap
snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore prism2_cs p80211 pcmcia yenta_socket pcmcia_core natsemi crc32 loop subfs evdev pl2303 usbserial ohci_hcd usbcore
Nov 6 20:29:55 lambda kernel: CPU: 0 Nov 6 20:29:55 lambda kernel: EIP: 0060:[__up_write+109/721] Not tainted VLI Nov 6 20:29:55 lambda kernel: EIP: 0060:[<c012ae47>] Not tainted VLI Nov 6 20:29:55 lambda kernel: EFLAGS: 00010083 (2.6.10-rc1-mm2-RT-V0.7.7) Nov 6 20:29:55 lambda kernel: EIP is at __up_write+0x6d/0x2d1 Nov 6 20:29:55 lambda kernel: eax: 00000000 ebx: d6cb8000 ecx: 00000064 edx: 00000064 Nov 6 20:29:55 lambda alsa: /etc/rc6.d/K70alsa: line 287: 15965
Segmentation fault /sbin/rmmod echo $line | cut -d ' ' -f 1
Quoted 1 line
/dev/null2>&1
Nov 6 20:29:55 lambda kernel: esi: e011b5cc edi: ddd7ce30 ebp: e0061e78 esp: d6cb9eb8 Nov 6 20:29:55 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 6 20:29:55 lambda kernel: Process rmmod (pid: 15938, threadinfo=d6cb8000 task=ded203b0) Nov 6 20:29:55 lambda kernel: Stack: c015258f df760280 00000008 c013baa4 ddc02028 00000246 d6cb8000 00000246 Nov 6 20:29:55 lambda kernel: df767400 00000000 d6cb8000 e011b5c8 e0061e68 e0061e78 c012b957 00000246 Nov 6 20:29:55 lambda kernel: ded203b0 d6cb8000 00000246 c02ff3c0 de3db4e8 e011b5e8 c030ac28 c01b1cef Nov 6 20:29:55 lambda kernel: Call Trace: Nov 6 20:29:55 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (4) Nov 6 20:29:55 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (4) Nov 6 20:29:55 lambda kernel: [cache_flusharray+69/161] cache_flusharray+0x45/0xa1 (12) Nov 6 20:29:55 lambda kernel: [<c013baa4>] cache_flusharray+0x45/0xa1 (12) Nov 6 20:29:55 lambda kernel: [up+80/173] up+0x50/0xad (44) Nov 6 20:29:55 lambda kernel: [<c012b957>] up+0x50/0xad (44) Nov 6 20:29:55 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:55 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:55 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:55 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:55 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:55 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:55 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:55 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:55 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:55 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:55 lambda kernel: [pg0+533397933/1069954048] usb_deregister+0x31/0x3f [usbcore] (8) Nov 6 20:29:55 lambda kernel: [<e004b1ad>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 6 20:29:55 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (20) Nov 6 20:29:55 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (20) Nov 6 20:29:55 lambda kernel: [blk_queue_bounce+29/132] blk_queue_bounce+0x1d/0x84 (20) Nov 6 20:29:55 lambda kernel: [<c0140079>] blk_queue_bounce+0x1d/0x84 (20) Nov 6 20:29:55 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:55 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:55 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:55 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:55 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:55 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:55 lambda kernel: Code: 75 0b 8b 46 04 85 c0 0f 84 71 01 00 00 b8 00 e0 ff ff 21 e0 83 40 14 01 8b 46 0c e8 d0 81 fe ff 8b 7e 0c 89 c2 8b 87 60 05 00 00 <8b> 08 0f 18 01 90 8d 9f 60 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 6 20:29:55 lambda kernel: <6>note: rmmod[15938] exited with preempt_count 3 Nov 6 20:29:55 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/15938 Nov 6 20:29:55 lambda kernel: caller is do_exit+0x289/0x4b2 Nov 6 20:29:55 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:55 lambda kernel: [<c02ac2fa>] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:55 lambda kernel: [exit_notify+1154/2290] exit_notify+0x482/0x8f2 (24) Nov 6 20:29:55 lambda kernel: [<c01187ba>] exit_notify+0x482/0x8f2 (24) Nov 6 20:29:55 lambda kernel: [kmem_cache_free+72/197] kmem_cache_free+0x48/0xc5 (24) Nov 6 20:29:55 lambda kernel: [<c013bd6d>] kmem_cache_free+0x48/0xc5 (24) Nov 6 20:29:55 lambda kernel: [do_exit+649/1202] do_exit+0x289/0x4b2 (32) Nov 6 20:29:55 lambda kernel: [<c0118eb3>] do_exit+0x289/0x4b2 (32) Nov 6 20:29:55 lambda kernel: [do_divide_error+0/330] do_divide_error+0x0/0x14a (40) Nov 6 20:29:55 lambda kernel: [<c0104d83>] do_divide_error+0x0/0x14a (40) Nov 6 20:29:55 lambda kernel: [do_page_fault+920/1425] do_page_fault+0x398/0x591 (64) Nov 6 20:29:55 lambda kernel: [<c0111313>] do_page_fault+0x398/0x591 (64) Nov 6 20:29:55 lambda kernel: [preempt_schedule+80/106] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:55 lambda kernel: [<c02ac5ab>] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:55 lambda kernel: [queue_work+44/101] queue_work+0x2c/0x65 (20) Nov 6 20:29:55 lambda kernel: [<c0125d66>] queue_work+0x2c/0x65 (20) Nov 6 20:29:55 lambda kernel: [call_usermodehelper+274/316] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:55 lambda kernel: [<c0125caa>] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:55 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:55 lambda kernel: [<c0125b50>] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:55 lambda kernel: [do_page_fault+0/1425] do_page_fault+0x0/0x591 (52) Nov 6 20:29:55 lambda kernel: [<c0110f7b>] do_page_fault+0x0/0x591 (52) Nov 6 20:29:55 lambda kernel: [error_code+45/56] error_code+0x2d/0x38 (8) Nov 6 20:29:55 lambda kernel: [<c010461d>] error_code+0x2d/0x38 (8) Nov 6 20:29:55 lambda kernel: [__up_write+109/721] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:55 lambda kernel: [<c012ae47>] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:55 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:55 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:55 lambda kernel: [cache_flusharray+69/161] cache_flusharray+0x45/0xa1 (12) Nov 6 20:29:55 lambda kernel: [<c013baa4>] cache_flusharray+0x45/0xa1 (12) Nov 6 20:29:55 lambda kernel: [up+80/173] up+0x50/0xad (44) Nov 6 20:29:55 lambda kernel: [<c012b957>] up+0x50/0xad (44) Nov 6 20:29:55 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:55 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:55 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:55 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:55 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:55 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:55 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:55 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:55 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:55 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:55 lambda kernel: [pg0+533397933/1069954048] usb_deregister+0x31/0x3f [usbcore] (8) Nov 6 20:29:55 lambda kernel: [<e004b1ad>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 6 20:29:55 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (20) Nov 6 20:29:55 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (20) Nov 6 20:29:55 lambda kernel: [blk_queue_bounce+29/132] blk_queue_bounce+0x1d/0x84 (20) Nov 6 20:29:55 lambda kernel: [<c0140079>] blk_queue_bounce+0x1d/0x84 (20) Nov 6 20:29:55 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:55 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:55 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:55 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:55 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:55 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:55 lambda kernel: ALI 5451 0000:00:06.0: Device was removed without properly calling pci_disable_device(). This may need fixing. Nov 6 20:29:55 lambda kernel: BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Nov 6 20:29:55 lambda kernel: printing eip: Nov 6 20:29:55 lambda kernel: c012ae47 Nov 6 20:29:55 lambda kernel: *pde = 00000000 Nov 6 20:29:55 lambda kernel: Oops: 0000 [#2] Nov 6 20:29:55 lambda kernel: PREEMPT Nov 6 20:29:55 lambda kernel: Modules linked in: realtime commoncap
snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore prism2_cs p80211 pcmcia yenta_socket pcmcia_core natsemi crc32 loop subfs evdev pl2303 usbserial ohci_hcd usbcore
Nov 6 20:29:55 lambda kernel: CPU: 0 Nov 6 20:29:55 lambda kernel: EIP: 0060:[__up_write+109/721] Not tainted VLI Nov 6 20:29:55 lambda kernel: EIP: 0060:[<c012ae47>] Not tainted VLI Nov 6 20:29:55 lambda kernel: EFLAGS: 00010083 (2.6.10-rc1-mm2-RT-V0.7.7) Nov 6 20:29:55 lambda kernel: EIP is at __up_write+0x6d/0x2d1 Nov 6 20:29:55 lambda kernel: eax: 00000000 ebx: d6cb8000 ecx: 00000064 edx: 00000064 Nov 6 20:29:55 lambda kernel: esi: e00ef894 edi: ddd7ce30 ebp: c0303198 esp: d6cb9ec4 Nov 6 20:29:55 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 6 20:29:55 lambda kernel: Process rmmod (pid: 15965, threadinfo=d6cb8000 task=ded203b0) Nov 6 20:29:55 lambda kernel: Stack: c015258f ded203b0 00000000 00000096 de536d84 00000246 d6cb8000 00000246 Nov 6 20:29:56 lambda kernel: df767400 00000000 d6cb8000 e00ef890 c0303188 c0303198 c012b957 00000246 Nov 6 20:29:56 lambda kernel: ded203b0 d6cb8000 00000246 c02ff3c0 deb50cc8 e00ef8b0 c030ac28 c01b1cef Nov 6 20:29:56 lambda kernel: Call Trace: Nov 6 20:29:56 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (4) Nov 6 20:29:56 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (4) Nov 6 20:29:56 lambda kernel: [up+80/173] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [<c012b957>] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [<c01b95e4>] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [<c0144c7d>] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: Code: 75 0b 8b 46 04 85 c0 0f 84 71 01 00 00 b8 00 e0 ff ff 21 e0 83 40 14 01 8b 46 0c e8 d0 81 fe ff 8b 7e 0c 89 c2 8b 87 60 05 00 00 <8b> 08 0f 18 01 90 8d 9f 60 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 6 20:29:56 lambda kernel: <6>note: rmmod[15965] exited with preempt_count 3 Nov 6 20:29:56 lambda kernel: BUG: scheduling while atomic: rmmod/0x10000003/15965 Nov 6 20:29:56 lambda kernel: caller is __cond_resched+0x36/0x41 Nov 6 20:29:56 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [<c02ac2fa>] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [__cond_resched+54/65] __cond_resched+0x36/0x41 (80) Nov 6 20:29:56 lambda kernel: [<c0113715>] __cond_resched+0x36/0x41 (80) Nov 6 20:29:56 lambda kernel: [cond_resched+28/37] cond_resched+0x1c/0x25 (12) Nov 6 20:29:56 lambda kernel: [<c02acedb>] cond_resched+0x1c/0x25 (12) Nov 6 20:29:56 lambda kernel: [unmap_vmas+374/385] unmap_vmas+0x176/0x181 (8) Nov 6 20:29:56 lambda kernel: [<c0140cff>] unmap_vmas+0x176/0x181 (8) Nov 6 20:29:56 lambda kernel: [exit_mmap+79/268] exit_mmap+0x4f/0x10c (64) Nov 6 20:29:56 lambda kernel: [<c01452df>] exit_mmap+0x4f/0x10c (64) Nov 6 20:29:56 lambda kernel: [mmput+78/295] mmput+0x4e/0x127 (40) Nov 6 20:29:56 lambda kernel: [<c01141d7>] mmput+0x4e/0x127 (40) Nov 6 20:29:56 lambda kernel: [do_exit+304/1202] do_exit+0x130/0x4b2 (24) Nov 6 20:29:56 lambda kernel: [<c0118d5a>] do_exit+0x130/0x4b2 (24) Nov 6 20:29:56 lambda kernel: [do_divide_error+0/330] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [<c0104d83>] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [do_page_fault+920/1425] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [<c0111313>] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [preempt_schedule+80/106] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [<c02ac5ab>] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [queue_work+44/101] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [<c0125d66>] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [call_usermodehelper+274/316] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: [<c0125caa>] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [<c0125b50>] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [do_page_fault+0/1425] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [<c0110f7b>] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [error_code+45/56] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [<c010461d>] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [__up_write+109/721] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [<c012ae47>] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [up+80/173] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [<c012b957>] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [<c01b95e4>] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [<c0144c7d>] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: BUG: scheduling while atomic: rmmod/0x10000003/15965 Nov 6 20:29:56 lambda kernel: caller is __cond_resched+0x36/0x41 Nov 6 20:29:56 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [<c02ac2fa>] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [do_exit+328/1202] do_exit+0x148/0x4b2 (36) Nov 6 20:29:56 lambda kernel: [<c0118d72>] do_exit+0x148/0x4b2 (36) Nov 6 20:29:56 lambda kernel: [down_write_mutex+333/518] down_write_mutex+0x14d/0x206 (4) Nov 6 20:29:56 lambda kernel: [<c02ad5f9>] down_write_mutex+0x14d/0x206 (4) Nov 6 20:29:56 lambda kernel: [remove_vm_struct+93/129] remove_vm_struct+0x5d/0x81 (8) Nov 6 20:29:56 lambda kernel: [<c0143446>] remove_vm_struct+0x5d/0x81 (8) Nov 6 20:29:56 lambda kernel: [__cond_resched+54/65] __cond_resched+0x36/0x41 (32) Nov 6 20:29:56 lambda kernel: [<c0113715>] __cond_resched+0x36/0x41 (32) Nov 6 20:29:56 lambda kernel: [cond_resched+28/37] cond_resched+0x1c/0x25 (12) Nov 6 20:29:56 lambda kernel: [<c02acedb>] cond_resched+0x1c/0x25 (12) Nov 6 20:29:56 lambda kernel: [put_files_struct+146/269] put_files_struct+0x92/0x10d (8) Nov 6 20:29:56 lambda kernel: [<c0117ec3>] put_files_struct+0x92/0x10d (8) Nov 6 20:29:56 lambda kernel: [do_exit+352/1202] do_exit+0x160/0x4b2 (32) Nov 6 20:29:56 lambda kernel: [<c0118d8a>] do_exit+0x160/0x4b2 (32) Nov 6 20:29:56 lambda kernel: [do_divide_error+0/330] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [<c0104d83>] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [do_page_fault+920/1425] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [<c0111313>] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [preempt_schedule+80/106] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [<c02ac5ab>] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [queue_work+44/101] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [<c0125d66>] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [call_usermodehelper+274/316] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: aa>] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [<c0125b50>] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [do_page_fault+0/1425] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [<c0110f7b>] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [error_code+45/56] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [<c010461d>] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [__up_write+109/721] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [<c012ae47>] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [up+80/173] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [<c012b957>] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [<c01b95e4>] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [<c0144c7d>] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/15965 Nov 6 20:29:56 lambda kernel: caller is do_exit+0x289/0x4b2 Nov 6 20:29:56 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [<c02ac2fa>] __sched_text_start+0x4aa/0x5f5 (8) Nov 6 20:29:56 lambda kernel: [exit_notify+1154/2290] exit_notify+0x482/0x8f2 (24) Nov 6 20:29:56 lambda kernel: [<c01187ba>] exit_notify+0x482/0x8f2 (24) Nov 6 20:29:56 lambda kernel: [kmem_cache_free+72/197] kmem_cache_free+0x48/0xc5 (24) Nov 6 20:29:56 lambda kernel: [<c013bd6d>] kmem_cache_free+0x48/0xc5 (24) Nov 6 20:29:56 lambda kernel: [do_exit+649/1202] do_exit+0x289/0x4b2 (32) Nov 6 20:29:56 lambda kernel: [<c0118eb3>] do_exit+0x289/0x4b2 (32) Nov 6 20:29:56 lambda kernel: [do_divide_error+0/330] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [<c0104d83>] do_divide_error+0x0/0x14a (40) Nov 6 20:29:56 lambda kernel: [do_page_fault+920/1425] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [<c0111313>] do_page_fault+0x398/0x591 (64) Nov 6 20:29:56 lambda kernel: [preempt_schedule+80/106] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [<c02ac5ab>] preempt_schedule+0x50/0x6a (80) Nov 6 20:29:56 lambda kernel: [queue_work+44/101] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [<c0125d66>] queue_work+0x2c/0x65 (20) Nov 6 20:29:56 lambda kernel: [call_usermodehelper+274/316] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: [<c0125caa>] call_usermodehelper+0x112/0x13c (24) Nov 6 20:29:56 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [<c0125b50>] __call_usermodehelper+0x0/0x48 (20) Nov 6 20:29:56 lambda kernel: [do_page_fault+0/1425] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [<c0110f7b>] do_page_fault+0x0/0x591 (52) Nov 6 20:29:56 lambda kernel: [error_code+45/56] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [<c010461d>] error_code+0x2d/0x38 (8) Nov 6 20:29:56 lambda kernel: [__up_write+109/721] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [<c012ae47>] __up_write+0x6d/0x2d1 (52) Nov 6 20:29:56 lambda kernel: [invalidate_inode_buffers+26/240] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [<c015258f>] invalidate_inode_buffers+0x1a/0xf0 (12) Nov 6 20:29:56 lambda kernel: [up+80/173] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [<c012b957>] up+0x50/0xad (56) Nov 6 20:29:56 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [<c01b1cef>] kobject_cleanup+0x8e/0x90 (36) Nov 6 20:29:56 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [<c01b1cf1>] kobject_release+0x0/0x8 (8) Nov 6 20:29:56 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [<c01b2597>] kref_put+0x51/0xc2 (12) Nov 6 20:29:56 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [<c01f79d2>] bus_remove_driver+0x3f/0x48 (36) Nov 6 20:29:56 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [<c01f7d44>] driver_unregister+0xb/0x1a (8) Nov 6 20:29:56 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [<c01b95e4>] pci_unregister_driver+0xb/0x13 (8) Nov 6 20:29:56 lambda kernel: [sys_delete_module+287/299] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [<c012d91f>] sys_delete_module+0x11f/0x12b (8) Nov 6 20:29:56 lambda kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [<c0144c7d>] unmap_vma_list+0xe/0x17 (20) Nov 6 20:29:56 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [<c0144f7a>] do_munmap+0x11a/0x176 (12) Nov 6 20:29:56 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [<c014500e>] sys_munmap+0x38/0x45 (36) Nov 6 20:29:56 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 6 20:29:56 lambda alsa: succeeded Nov 6 20:29:56 lambda rc: Stopping alsa: succeeded
Bye now.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
In reply to Ingo MolnarAm Samstag 06 November 2004 16:57 schrieb Ingo Molnar:
Quoted 4 lines
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
Hi Ingo
got this on a netconsole when I hit <TAB> in bash to complete "cat /proc/acpi":
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
BUG: sleeping function called from invalid context bash(5364) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1322 in_atomic():1 [00000001], irqs_disabled():0 [<c010803e>] <3>BUG: scheduling while atomic: bash/0x00000001/5364 caller is schedule+0x38/0x12e [<c010803e>] dump_stack+0x23/0x25 (20) [<c0311096>] __sched_text_start+0x9f6/0xdb4 (124) [<c031148c>] schedule+0x38/0x12e (36) [<c0312904>] __down_mutex+0x231/0x31a (84) [<c013d23a>] __spin_lock+0x46/0x50 (24) [<c013d2be>] _spin_lock_irqsave+0x1d/0x21 (16) [<c025f03b>] e100_xmit_frame+0x3c/0x2d8 (60) [<c02ae6c0>] netpoll_send_skb+0x23/0xb3 (28) [<c0263066>] write_msg+0x56/0xfa (52) [<c0124099>] __call_console_drivers+0x59/0x6c (32) [<c01241c0>] call_console_drivers+0x8c/0x163 (36) [<c01245bd>] release_console_sem+0x33/0xde (32) [<c01244c3>] vprintk+0x134/0x16d (36) [<c012438d>] printk+0x1d/0x1f (16) [<c0107f18>] show_trace+0x65/0xcd (36) [<c010803e>] dump_stack+0x23/0x25 (20) [<c01203ab>] __might_sleep+0xbc/0xcf (36) [<c013d228>] __spin_lock+0x34/0x50 (24) [<c013d2be>] _spin_lock_irqsave+0x1d/0x21 (16) [<c01437cd>] search_module_extables+0x1c/0x87 (32) [<c01375d9>] search_exception_tables+0x39/0x3b (24) [<c011b5d6>] fixup_exception+0x1a/0x34 (16) [<c011ae50>] do_page_fault+0x37e/0x64e (220) [<c0107c63>] error_code+0x2b/0x30 (100) [<c0199214>] proc_lookup+0x81/0xc9 (52) [<c0176318>] real_lookup+0xb2/0xd6 (36) [<c017663f>] do_lookup+0x82/0x8d (32) [<c0176dbf>] link_path_walk+0x775/0x1071 (108) [<c01779e2>] path_lookup+0xa5/0x1b0 (32) [<c0177c8f>] __user_walk+0x30/0x4d (32) [<c017211b>] vfs_stat+0x1f/0x5a (92) [<c01727b4>] sys_stat64+0x1e/0x3d (100) [<c0107191>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c031300b>] .... _raw_spin_lock+0x1c/0x73
.....[<c011bb74>] .. ( <= task_rq_lock+0x32/0x5b)
.. [<c013ec19>] .... print_traces+0x1b/0x52
.....[<c010803e>] .. ( <= dump_stack+0x23/0x25)
<<<<<<
then follow lots of
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
BUG: scheduling while atomic: bash/0x00000001/5364 caller is schedule+0x38/0x12e [<c010803e>] dump_stack+0x23/0x25 (20) [<c0311096>] __sched_text_start+0x9f6/0xdb4 (124) [<c031148c>] schedule+0x38/0x12e (36) [<c0312904>] __down_mutex+0x231/0x31a (84) [<c013d23a>] __spin_lock+0x46/0x50 (24) [<c013d2be>] _spin_lock_irqsave+0x1d/0x21 (16) [<c025f03b>] e100_xmit_frame+0x3c/0x2d8 (60) [<c02ae6c0>] netpoll_send_skb+0x23/0xb3 (28) [<c0263066>] write_msg+0x56/0xfa (52) [<c0124099>] __call_console_drivers+0x59/0x6c (32) [<c01241e0>] call_console_drivers+0xac/0x163 (36) [<c01245bd>] release_console_sem+0x33/0xde (32) [<c01244c3>] vprintk+0x134/0x16d (36) [<c012438d>] printk+0x1d/0x1f (16) [<c0107f18>] show_trace+0x65/0xcd (36) [<c010803e>] dump_stack+0x23/0x25 (20) [<c01203ab>] __might_sleep+0xbc/0xcf (36) [<c013d228>] __spin_lock+0x34/0x50 (24) [<c013d2be>] _spin_lock_irqsave+0x1d/0x21 (16) [<c01437cd>] search_module_extables+0x1c/0x87 (32) [<c01375d9>] search_exception_tables+0x39/0x3b (24) [<c011b5d6>] fixup_exception+0x1a/0x34 (16) [<c011ae50>] do_page_fault+0x37e/0x64e (220) [<c0107c63>] error_code+0x2b/0x30 (100) [<c0199214>] proc_lookup+0x81/0xc9 (52) [<c0176318>] real_lookup+0xb2/0xd6 (36) [<c017663f>] do_lookup+0x82/0x8d (32) [<c0176dbf>] link_path_walk+0x775/0x1071 (108) [<c01779e2>] path_lookup+0xa5/0x1b0 (32) [<c0177c8f>] __user_walk+0x30/0x4d (32) [<c017211b>] vfs_stat+0x1f/0x5a (92) [<c01727b4>] sys_stat64+0x1e/0x3d (100) [<c0107191>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c031300b>] .... _raw_spin_lock+0x1c/0x73
.....[<c011bb74>] .. ( <= task_rq_lock+0x32/0x5b)
.. [<c013ec19>] .... print_traces+0x1b/0x52
.....[<c010803e>] .. ( <= dump_stack+0x23/0x25)
<<<<<<
then the machine is frozen.
Best regards,
Karsten
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
Quoted 2 lines · Karsten Wiese
got this on a netconsole when I hit <TAB> in bash to complete "cat
/proc/acpi":
does the patch below help?
Ingo
kernel/module.c renamed from kernel/module.c.orig +1 -1
@@ -53,7 +54,7 @@#define INIT_OFFSET_MASK (1UL << (BITS_PER_LONG-1))/* Protects module list */ -static spinlock_t modlist_lock =SPIN_LOCK_UNLOCKED ; +static DECLARE_RAW_SPINLOCK (modlist_lock);/* List of modules, protected by module_mutex AND modlist_lock */ static DECLARE_MUTEX (module_mutex);
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
In reply to Ingo MolnarQuoted 4 lines · Ingo Molnar
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
I got the attached oops on 2.6.10-rc1-mm3-RT-V0.7.18 (probably during the daily cron job). Later in the morning when I tried to access some filesystems I got the attached deadlock report.
Relevant parts of the config:
...
# CONFIG_SMP is not setCONFIG_PREEMPT=yCONFIG_PREEMPT_SOFTIRQS=yCONFIG_PREEMPT_HARDIRQS=yCONFIG_PREEMPT_REALTIME=yCONFIG_PREEMPT_BKL=yCONFIG_X86_UP_APIC=yCONFIG_X86_UP_IOAPIC=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=y
...
#
# Kernel hacking
#CONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not setCONFIG_PREEMPT_TIMING=y
# CONFIG_LATENCY_TRACE is not setCONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not setCONFIG_FRAME_POINTER=yCONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_4KSTACKS is not setCONFIG_X86_FIND_SMP_CONFIG=yCONFIG_X86_MPPARSE=y
# CONFIG_KGDB is not set
...
Signature · 3 lines
Eran Mann Tel: 972-4-9936297 Fax: 972-4-9890430
Nov 8 04:19:32 eran kernel: BUG at include/linux/spinlock.h:767!
Nov 8 04:19:32 eran kernel: ------------[ cut here ]------------
Nov 8 04:19:32 eran kernel: kernel BUG at include/linux/spinlock.h:767!
Nov 8 04:19:32 eran kernel: invalid operand: 0000 [#1]
Nov 8 04:19:32 eran kernel: PREEMPT
Nov 8 04:19:32 eran kernel: Modules linked in: snd_via82xx snd_ac97_codec snd_mpu401_uart snd_rawmidi snd_seq_device snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd soundcore md5 ipv6 autofs 3c59x mii parport_pc parport nls_cp437 nls_iso8859_1 ntfs usbcore video thinkpad_acpi thermal processor fan button battery ac rtc
Nov 8 04:19:32 eran kernel: CPU: 0
Nov 8 04:19:32 eran kernel: EIP: 0060:[<c01e5a65>] Not tainted VLI
Nov 8 04:19:32 eran kernel: EFLAGS: 00010286 (2.6.10-rc1-mm3-RT-V0.7.18)
Nov 8 04:19:32 eran kernel: EIP is at __try_to_free_cp_buf+0xc5/0xd0
Nov 8 04:19:32 eran kernel: eax: 00000025 ebx: ce29bfbc ecx: 00000001 edx: 00000000
Nov 8 04:19:32 eran kernel: esi: 000002ff edi: cf1f8760 ebp: cfa05d5c esp: cfa05d48
Nov 8 04:19:32 eran kernel: ds: 007b es: 007b ss: 0068 preempt: 00000001
Nov 8 04:19:32 eran kernel: Process kjournald (pid: 1445, threadinfo=cfa04000 task=cf9866c0)
Nov 8 04:19:32 eran kernel: Stack: c03ecd70 c03f40ba 000002ff ce55f20c ce55f1dc cfa05d88 c01e643d ce55f20c
Nov 8 04:19:32 eran kernel: cfa04000 ce55f1dc 00000000 cf1f8760 cf1f8760 00000000 cd659880 00000000
Nov 8 04:19:32 eran kernel: cfa05f28 c01e3563 cf4ebc00 cf1f8760 00000003 00009f35 cf3a7770 cf3a7770
Nov 8 04:19:32 eran kernel: Call Trace:
Nov 8 04:19:32 eran kernel: [<c01080bf>] show_stack+0x7f/0xa0 (28)
Nov 8 04:19:32 eran kernel: [<c0108275>] show_registers+0x165/0x1d0 (56)
Nov 8 04:19:32 eran kernel: [<c010848c>] die+0xec/0x190 (64)
Nov 8 04:19:32 eran kernel: [<c0108a5e>] do_invalid_op+0x11e/0x120 (192)
Nov 8 04:19:32 eran kernel: [<c0107d07>] error_code+0x2b/0x30 (80)
Nov 8 04:19:32 eran kernel: [<c01e643d>] __journal_clean_checkpoint_list+0x5d/0x90 (44)
Nov 8 04:19:32 eran kernel: [<c01e3563>] journal_commit_transaction+0x273/0x1ac0 (416)
Nov 8 04:19:32 eran kernel: [<c01e7d9d>] kjournald+0x18d/0x430 (196)
Nov 8 04:19:32 eran kernel: [<c0105315>] kernel_thread_helper+0x5/0x10 (811573268)
Nov 8 04:19:32 eran kernel: Code: 4f 00 00 89 1c 24 e8 7b de f7 ff eb 9b c7 04 24 70 cd 3e c0 b9 ba 40 3f c0 be ff 02 00 00 89 74 24 08 89 4c 24 04 e8 2b 9f f3 ff <0f> 0b ff 02 ba 40 3f c0 eb bd 90 55 89 e5 57 56 53 83 ec 08 8b
Nov 8 04:19:32 eran kernel: kjournald:1445 BUG: lock held at task exit time!
Nov 8 04:19:32 eran kernel: [cf4ebc14] {&journal->j_state_lock}
Nov 8 04:19:32 eran kernel: .. held by: kjournald/ 1445 [cf9866c0, 115]Nov 8 04:19:32 eran kernel: ... acquired at: journal_commit_transaction+0xdf/0x1ac0
Nov 8 04:19:32 eran kernel: kjournald:1445 BUG: lock held at task exit time!
Nov 8 04:19:32 eran kernel: [cf4ebe50] {&journal->j_list_lock}
Nov 8 04:19:32 eran kernel: .. held by: kjournald/ 1445 [cf9866c0, 115]Nov 8 04:19:32 eran kernel: ... acquired at: journal_commit_transaction+0x268/0x1ac0
Nov 8 07:20:22 eran kernel: IRQ#7 thread RT prio: 39.2.6.10-rc1-mm3-RT-V0.7.18
[<c01080bf>] show_stack+0x7f/0xa0 (28)
[<c0108275>] show_registers+0x165/0x1d0 (56)
[<c010848c>] die+0xec/0x190 (64)
[<c0108a5e>] do_invalid_op+0x11e/0x120 (192)
[<c0107d07>] error_code+0x2b/0x30 (80)
[<c01e643d>] __journal_clean_checkpoint_list+0x5d/0x90 (44)
[<c01e3563>] journal_commit_transaction+0x273/0x1ac0 (416)
[<c01e7d9d>] kjournald+0x18d/0x430 (196)
[<c0105315>] kernel_thread_helper+0x5/0x10 (811573268)
Code: 4f 00 00 89 1c 24 e8 7b de f7 ff eb 9b c7 04 24 70 cd 3e c0 b9 ba 40 3f c0 be ff 02 00 00 89 74 24 08 89 4c 24 04 e8 2b 9f f3 ff <0f> 0b ff 02 ba 40 3f c0 eb bd 90 55 89 e5 57 56 53 83 ec 08 8b
kjournald:1445 BUG: lock held at task exit time!
[cf4ebc14] {&journal->j_state_lock}.. held by: kjournald/ 1445 [cf9866c0, 115]
... acquired at: journal_commit_transaction+0xdf/0x1ac0 kjournald:1445 BUG: lock held at task exit time!
[cf4ebe50] {&journal->j_list_lock}
.. held by: kjournald/ 1445 [cf9866c0, 115]
... acquired at: journal_commit_transaction+0x268/0x1ac0 IRQ#7 thread RT prio: 39.
============================================
[ BUG: circular locking deadlock detected! ]
--------------------------------------------
bash/3986 is deadlocking current task bash/10630
1) bash/10630 is trying to acquire this lock:
[cdc048e0] {&inode->i_sem}
.. held by: bash/ 3986 [c8c87890, 115]
... acquired at: vfs_readdir+0x53/0xa0
... trying at: vfs_readdir+0x53/0xa0
2) bash/3986 is blocked on this lock:
[cf4ebc14] {&journal->j_state_lock}
.. held by: bash/10630 [cf9866c0, 115]
... acquired at: journal_commit_transaction+0xdf/0x1ac0
------------------------------
| showing all locks held by: | (bash/10630 [cf9866c0, 115]):
------------------------------
------------------------------
| showing all locks held by: | (bash/3986 [c8c87890, 115]):
------------------------------
#001: [cdc048e0] {&inode->i_sem}
... acquired at: vfs_readdir+0x53/0xa0
bash/3986's [blocked] stackdump:
c3873d70 00000086 c8c87890 c0560060 c04a0440 00000001 00000246 c8c87890
c01451f9 00000001 c044f318 c044f318 00000001 00000000 24535cc0 000f7cf3
c8c87a54 c3872000 c3872000 c8c87890 c3873d94 c03c981b c044f318 00000282
Call Trace:
[<c03c981b>] schedule+0x3b/0x130 (36)
[<c03cae11>] __down_mutex+0x311/0x3b0 (84)
[<c0138091>] __spin_lock+0x31/0x40 (24)
[<c01380b8>] _spin_lock+0x18/0x20 (16)
[<c01dfb96>] start_this_handle+0x66/0x4f0 (152)
[<c01e0136>] journal_start+0xc6/0xf0 (40)
[<c01d41e8>] ext3_dirty_inode+0x38/0xd0 (36)
[<c01855e1>] __mark_inode_dirty+0x1d1/0x1e0 (64)
[<c017cde1>] update_atime+0xd1/0xe0 (52)
[<c01747b3>] vfs_readdir+0x93/0xa0 (36)
[<c0174bdb>] sys_getdents64+0x6b/0xb0 (48)
[<c010720d>] sysenter_past_esp+0x52/0x71 (-8124)bash/10630's [current] stackdump:
[<c01080fe>] dump_stack+0x1e/0x30 (20) [<c0136313>] check_deadlock+0x1c3/0x2a0 (44) [<c0136a22>] task_blocks_on_lock+0x1b2/0x1d0 (48) [<c03ca976>] __down+0x226/0x350 (76) [<c0137abe>] down+0x2e/0x160 (48) [<c0174773>] vfs_readdir+0x53/0xa0 (36) [<c0174bdb>] sys_getdents64+0x6b/0xb0 (48) [<c010720d>] sysenter_past_esp+0x52/0x71 (-8124)
showing all tasks:
s init/ 1 [c1279770, 116] (not blocked) s ksoftirqd/0/ 2 [c12791a0, 105] (not blocked) s desched/0/ 3 [c1278bd0, 105] (not blocked) s events/0/ 4 [c1278600, 98] (not blocked) s khelper/ 5 [c1278030, 106] (not blocked) s kthread/ 10 [cffdb790, 105] (not blocked) s kacpid/ 18 [cffdb1c0, 115] (not blocked) s IRQ 9/ 19 [cffdabf0, 115] (not blocked) s kblockd/0/ 67 [cffda620, 105] (not blocked) s pdflush/ 133 [cffda050, 116] (not blocked) s pdflush/ 134 [cfebb7b0, 116] (not blocked) s aio/0/ 136 [cfebac10, 106] (not blocked) s kswapd0/ 135 [cfebb1e0, 116] (not blocked) s IRQ 12/ 748 [cfeba070, 53] (not blocked) s IRQ 6/ 763 [c13ab7d0, 50] (not blocked) s kseriod/ 742 [cfeba640, 125] (not blocked) s IRQ 14/ 786 [c13ab200, 51] (not blocked) s IRQ 15/ 789 [c13aac30, 52] (not blocked) s IRQ 1/ 819 [c13aa660, 54] (not blocked) s reiserfs/0/ 824 [c13aa090, 105] (not blocked) s IRQ 8/ 1163 [cf987260, 55] (not blocked) s khubd/ 1357 [cf1b4820, 119] (not blocked) s IRQ 4/ 1604 [cf987830, 56] (not blocked) s IRQ 3/ 1605 [cfbb2700, 57] (not blocked) s IRQ 7/ 1637 [cf3a7770, 60] (not blocked) s IRQ 10/ 1970 [cf9860f0, 58] (not blocked) s IRQ 11/ 2044 [cf5c87a0, 59] (not blocked) s dhcpcd/ 2056 [cf5c8d70, 117] (not blocked)
s syslogd/ 2097 [cfbb3870, 116] (not blocked)
s klogd/ 2101 [cf2a39b0, 116] (not blocked)
s portmap/ 2127 [cf1b5990, 116] (not blocked)
s rpc.statd/ 2146 [cf1b53c0, 119] (not blocked)
s rsync/ 2223 [cf2a2270, 118] (not blocked)
s atd/ 2281 [cfd0c0b0, 116] (not blocked)
s smartd/ 2291 [cf3a6600, 116] (not blocked)
s sshd/ 2300 [cf1b4df0, 121] (not blocked)
s xinetd/ 2313 [cd4a2bf0, 117] (not blocked)
s dhcpd/ 2322 [cf2a33e0, 119] (not blocked)
s sendmail/ 2339 [cf1b4250, 116] (not blocked)
s sendmail/ 2347 [cfd0cc50, 117] (not blocked)
s gpm/ 2357 [cd4a3790, 116] (not blocked)
s crond/ 2366 [cfd0d7f0, 116] (not blocked)
s xfs/ 2394 [cf986c90, 116] (not blocked)
s dbus-daemon-1/ 2411 [cd4a31c0, 116] (not blocked)
s cupsd/ 2422 [cfd0c680, 116] (not blocked)
s mingetty/ 2632 [cfbb2cd0, 119] (not blocked) s mingetty/ 2633 [cf5c9910, 119] (not blocked) s mingetty/ 2634 [cf3a6bd0, 119] (not blocked) s mingetty/ 2635 [cf2a2e10, 118] (not blocked) s mingetty/ 2638 [cf5c9340, 118] (not blocked) s mingetty/ 2639 [cf2a2840, 118] (not blocked)
s gdm-binary/ 2640 [cf5c81d0, 116] (not blocked)
s gdm-binary/ 2875 [cc3271e0, 117] (not blocked)
s X/ 2888 [cc366c30, 115] (not blocked)
s gnome-session/ 2923 [cfd0d220, 115] (not blocked)
s ssh-agent/ 2985 [cd4a2620, 116] (not blocked)
s gconfd-2/ 2996 [cc366090, 116] (not blocked)
s bonobo-activati/ 3519 [c8d1ed10, 116] (not blocked) s gnome-settings-/ 3521 [cc326070, 115] (not blocked)
s xscreensaver/ 3917 [cc367200, 115] (not blocked)
s gnome-smproxy/ 3944 [cc366660, 117] (not blocked)
s metacity/ 3946 [cf3a6030, 115] (not blocked)
s gnome-panel/ 3948 [c92ff260, 115] (not blocked)
s nautilus/ 3950 [c92fec90, 115] (not blocked) s nautilus/ 3955 [cc3677d0, 116] (not blocked) s nautilus/ 3956 [cfbb32a0, 117] (not blocked) s nautilus/ 3957 [c892a230, 116] (not blocked) s nautilus/ 3958 [c8d1f2e0, 115] (not blocked) s nautilus/ 3959 [c8c86150, 117] (not blocked) s nautilus/ 3960 [c8d1f8b0, 116] (not blocked) s nautilus/ 3961 [c8d1e170, 116] (not blocked) s nautilus/ 3962 [c8d1e740, 116] (not blocked) s nautilus/ 3963 [cd4a2050, 116] (not blocked) s nautilus/ 3964 [cf3a71a0, 116] (not blocked) s magicdev/ 3952 [cc326640, 115] (not blocked)
R gnome-terminal/ 3954 [c8ac4e50, 116] (not blocked) s mapping-daemon/ 3966 [c8ac4880, 116] (not blocked) s gnome-pty-helpe/ 3985 [c8c86720, 116] (not blocked)
D bash/ 3986 [c8c87890, 115] blocked on: [cf4ebc14] {&journal->j_state_lock}
.. held by: bash/10630 [cf9866c0, 115]
... acquired at: journal_commit_transaction+0xdf/0x1ac0 s notification-ar/ 3988 [c8c872c0, 115] (not blocked)
s bash/ 3989 [c8c86cf0, 115] (not blocked)
s wnck-applet/ 4029 [c892b970, 115] (not blocked)
s multiload-apple/ 4071 [c892a800, 116] (not blocked)
s gkb-applet-2/ 4079 [c892b3a0, 115] (not blocked)
s tail/ 4166 [c8ac42b0, 116] (not blocked)
s thunderbird/10586 [cc3277b0, 118] (not blocked)
s run-mozilla.sh/10598 [c92ff830, 119] (not blocked) s thunderbird-bin/10603 [cc326c10, 115] (not blocked) s thunderbird-bin/10604 [cfbb2130, 116] (not blocked) s thunderbird-bin/10606 [c8ac5420, 116] (not blocked)
D bash/10630 [cf9866c0, 115] (not blocked)
---------------------------
| showing all locks held: |
---------------------------
#001: [c057a080] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#002: [c0579c94] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#003: [c0579e70] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#004: [c057a6fc] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#005: [c057a310] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#006: [c057a4ec] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#007: [c057ad78] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#008: [c057a98c] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#009: [c057ab68] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#010: [c057b3f4] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#011: [c057b008] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#012: [c057b1e4] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#013: [c057ba70] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#014: [c057b684] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#015: [c057b860] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#016: [c057c0ec] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#017: [c057bd00] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#018: [c057bedc] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#019: [c057c768] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#020: [c057c37c] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#021: [c057c558] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#022: [c057cde4] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#023: [c057c9f8] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#024: [c057cbd4] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#025: [c057d460] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#026: [c057d074] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#027: [c057d250] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#028: [c057dadc] {&hwif->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x98/0x180
#029: [c057d6f0] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#030: [c057d8cc] {&drive->gendev_rel_sem}
.. held by: init/ 1 [c1279770, 116]
... acquired at: init_hwif_data+0x16d/0x180
#031: [cfd07cf0] {&tty->atomic_read}
.. held by: mingetty/ 2632 [cfbb2cd0, 119]
... acquired at: read_chan+0x6c9/0x720
#032: [cc280cf0] {&tty->atomic_read}
.. held by: mingetty/ 2633 [cf5c9910, 119]
... acquired at: read_chan+0x6c9/0x720
#033: [cc349cf0] {&tty->atomic_read}
.. held by: mingetty/ 2638 [cf5c9340, 118]
... acquired at: read_chan+0x6c9/0x720
#034: [cc39fcf0] {&tty->atomic_read}
.. held by: mingetty/ 2639 [cf2a2840, 118]
... acquired at: read_chan+0x6c9/0x720
#035: [cc32bcf0] {&tty->atomic_read}
.. held by: mingetty/ 2635 [cf2a2e10, 118]
... acquired at: read_chan+0x6c9/0x720
#036: [cc3e1cf0] {&tty->atomic_read}
.. held by: mingetty/ 2634 [cf3a6bd0, 119]
... acquired at: read_chan+0x6c9/0x720
#037: [c4031cf0] {&tty->atomic_read}
.. held by: bash/ 3989 [c8c86cf0, 115]
... acquired at: read_chan+0x6c9/0x720
#038: [cdc048e0] {&inode->i_sem}
.. held by: bash/ 3986 [c8c87890, 115]
... acquired at: vfs_readdir+0x53/0xa0
=============================================
[ turning off deadlock detection. Please report this trace. ]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
Quoted 6 lines · Eran Mann
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.18 Real-Time Preemption patch, which can be downloaded from:
Quoted 8 lines
I got the attached oops on 2.6.10-rc1-mm3-RT-V0.7.18 (probably during the daily cron job). Later in the morning when I tried to access some filesystems
I got the attached deadlock report.Nov 8 04:19:32 eran kernel: BUG at include/linux/spinlock.h:767! Nov 8 04:19:32 eran kernel: ------------[ cut here ]------------ Nov 8 04:19:32 eran kernel: kernel BUG at include/linux/spinlock.h:767!
ok, your bugreport pinpointed the bug: an RT-patch merging mistake when i merged -RT to the spinlock-checker changes in recent BK.
the fix is below, but i've also put it into -V0.7.20 (which i released a couple of minutes ago). Does this patch (or -V0.7.20) fix the kjournald crash for you?
Ingo
include/linux/spinlock.h renamed from include/linux/spinlock.h.orig +1 -1
@@ -750,7 +750,7 @@ static inline void bit_spin_lock(int bit*/ static inline int bit_spin_trylock (int bitnum,unsigned long *addr) { -#if defined(CONFIG_SMP ) || defined(CONFIG_DEBUG_SPINLOCK ) +#if defined(CONFIG_SMP ) || defined(CONFIG_DEBUG_SPINLOCK ) || defined(CONFIG_PREEMPT )if (test_and_set_bit (bitnum, addr))return 0 ;#endif
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.19
In reply to Ingo Molnari have released the -V0.7.19 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes only.
Changes since -V0.7.18:
- fixed a merge bug introduced in -V0.7.18, breaking bit-spinlocks used by ext3's journalling code. This could/should fix the kjournald crash reported by Adam Heath, Gunther Persoons and Eran Mann. Bug triggered on !SMP kernels only.
- added upstream patch to fix a crash in bttv/btcx_riscmem_free(), reported by Shane Shrybman.
- made modlist_lock raw again - this could fix the /proc/acpi related asserts reported by Karsten Wiese.
- fixed -RT locking bug in zap_completion_queue(), this could fix the asserts reported by Shane Shrybman and others.
to create a -V0.7.19 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.19
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.20
i have released the -V0.7.20 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes a single fix relative to -V0.7.19: it fixes the nondebug build errors reported by Rui Nuno Capela and Peter Zijlstra, introduced in -V0.7.18.
to create a -V0.7.20 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.20
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.20
Quoted 5 lines · you
i have released the -V0.7.20 Real-Time Preemption patch, which can be downloaded from the usual place:
At boot time:
BUG: sleeping function called from invalid context modprobe(1782) at kernel/rt.c:1322
in_atomic():1 [00000001], irqs_disabled():1
[dump_stack+35/48] dump_stack+0x23/0x30 (20) [__might_sleep+194/224] __might_sleep+0xc2/0xe0 (36) [__spin_lock+56/96] __spin_lock+0x38/0x60 (24) [_spin_lock+29/32] _spin_lock+0x1d/0x20 (16) [kmem_cache_alloc+71/272] kmem_cache_alloc+0x47/0x110 (32) [use_module+164/320] use_module+0xa4/0x140 (32) [resolve_symbol+171/192] resolve_symbol+0xab/0xc0 (48) [simplify_symbols+178/288] simplify_symbols+0xb2/0x120 (44) [load_module+1395/2704] load_module+0x573/0xa90 (160) [sys_init_module+107/576] sys_init_module+0x6b/0x240 (32) [syscall_call+7/11] syscall_call+0x7/0xb (-4028)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [resolve_symbol+33/192] .... resolve_symbol+0x21/0xc0
.....[simplify_symbols+178/288] .. ( <= simplify_symbols+0xb2/0x120)
.. [print_traces+29/144] .... print_traces+0x1d/0x90
.....[dump_stack+35/48] .. ( <= dump_stack+0x23/0x30)
Signature · 1 line
I route therefore you are
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.20
In reply to Ingo MolnarQuoted 6 lines · Ingo Molnar
i have released the -V0.7.20 Real-Time Preemption patch, which can be downloaded from the usual place:
I'm seeing many of these on dmesg, almost everytime a module is getting loaded:
BUG: sleeping function called from invalid context insmod(1357) at kernel/rt.c:1322 in_atomic():1 [00000001], irqs_disabled():1 [<c0105040>] dump_stack+0x23/0x25 (20) [<c0116026>] __might_sleep+0xbc/0xcf (36) [<c01321d1>] __spin_lock+0x38/0x57 (24) [<c013220d>] _spin_lock+0x1d/0x1f (16) [<c0145386>] kmem_cache_alloc+0x3f/0xfe (32) [<c01358ff>] use_module+0xa8/0x13a (32) [<c01363db>] resolve_symbol+0x79/0x8c (40) [<c0136a1d>] simplify_symbols+0xc4/0xfe (44) [<c013779b>] load_module+0x64f/0x989 (144) [<c0137b2c>] sys_init_module+0x57/0x23d (32) [<c0104201>] sysenter_past_esp+0x52/0x71 (-8124) ---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c013637f>] .... resolve_symbol+0x1d/0x8c
.....[<c0136a1d>] .. ( <= simplify_symbols+0xc4/0xfe)
.. [<c0133cdf>] .... print_traces+0x1b/0x54
.....[<c0105040>] .. ( <= dump_stack+0x23/0x25)
Another critical issue is that USB is not working properly; the ohci_hcd module gets loaded but devices don't get listed by lsusb at all, which I think is a "bonus" from upstream 2.6.9-rc1-mm3.
In fact I think -mm3 is breaking many things around here, at least on my laptop; another notorious is my wifi stuff (linux-wlan-ng/prism2_cs) now failing due to unresolved symbols, such as these:
prism2_cs: Unknown symbol p80211netdev_rxprism2_cs: Unknown symbol register_wlandevprism2_cs: Unknown symbol wlan_unsetupprism2_cs: Unknown symbol unregister_wlandevprism2_cs: Unknown symbol p80211netdev_hwremovedprism2_cs: Unknown symbol wlan_setupprism2_cs: Unknown symbol p80211skb_rxmeta_attach
But I guess this is off-topic by now.
Take care.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.20
In reply to Ingo MolnarQuoted 9 lines · On Mon, 8 Nov 2004 10:50:48 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.20 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes a single fix relative to -V0.7.19: it fixes the nondebug build errors reported by Rui Nuno Capela and Peter Zijlstra, introduced in -V0.7.18.
Quoted 6 lines
to create a -V0.7.20 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.20
Hi,
i just wanted to let you know that this one doesn't lock up for me. I actually built for 486 [to be able to run the image in qemu first]. After the run in qemu showed no problems, i went to boot the kernel on my real machine. It seems to work fine so far with rtc_wakeup showing max. jitters around 30 usec (at f=1024) under load (find's + kernel compile)..
Will build a kernel (0.7.21) with debugging enabled to see if i miss any BUG's.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.19
In reply to Ingo MolnarAm Montag 08 November 2004 10:16 schrieb Ingo Molnar:
Quoted 15 lines
i have released the -V0.7.19 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes only.
Changes since -V0.7.18:
- fixed a merge bug introduced in -V0.7.18, breaking bit-spinlocks used by ext3's journalling code. This could/should fix the kjournald crash reported by Adam Heath, Gunther Persoons and Eran Mann. Bug triggered on !SMP kernels only.
Quoted 5 lines
- added upstream patch to fix a crash in bttv/btcx_riscmem_free(), reported by Shane Shrybman.
- made
modlist_lockraw again - this could fix the/proc/acpirelated asserts reported by Karsten Wiese.
Doesn't. Please see attached logs.
RT-V0.7.19-dmesg_after_boot_rl3.log is a freshly booted dmesg output after logging on via ssh. RT-V0.7.19-proc_acpi_TAB.log is captured via netconsole. This log started after logging in locally,
then typing in "cat /proc/acpi", then first <TAB> gives an additional "/", 2nd <TAB> gives no visual effect, 3rd <TAB> produces whats in the log.
thanks,
Karsten
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.19
Quoted 5 lines · Karsten Wiese
RT-V0.7.19-dmesg_after_boot_rl3.log is a freshly booted dmesg output after logging on via ssh. RT-V0.7.19-proc_acpi_TAB.log is captured via netconsole. This log started after logging in locally, then typing in "cat
/proc/acpi", then first <TAB> gives an additional "/", 2nd <TAB> gives no visual effect, 3rd <TAB> produces whats in the log.
there's at least one more netconsole buglet causing asserts, which should be fixed by the patch below.
Ingo
net/core/netpoll.c renamed from net/core/netpoll.c.orig +1 -1
@@ -194,7 +194,7 @@ repeat: }spin_lock (&np->dev->xmit_lock); - np->dev->xmit_lock_owner =smp_processor_id (); + np->dev->xmit_lock_owner =_smp_processor_id ();/* * network drivers do not expect to be called if the queue is
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.19
In reply to Karsten WieseQuoted 5 lines · Karsten Wiese
RT-V0.7.19-dmesg_after_boot_rl3.log is a freshly booted dmesg output after logging on via ssh. RT-V0.7.19-proc_acpi_TAB.log is captured via netconsole. This log started after logging in locally, then typing in "cat
/proc/acpi", then first <TAB> gives an additional "/", 2nd <TAB> gives no visual effect, 3rd <TAB> produces whats in the log.
could you try this with vanilla -mm3 too? The crash seems to be generic:
[<c011ae89>] do_page_fault+0x3b7/0x64e (220) [<c0107c63>] error_code+0x2b/0x30 (100) [<c01991e4>] proc_lookup+0x81/0xc9 (52) [<c01762e8>] real_lookup+0xb2/0xd6 (36) [<c017660f>] do_lookup+0x82/0x8d (32) [<c0176d8f>] link_path_walk+0x775/0x1071 (108) [<c01779b2>] path_lookup+0xa5/0x1b0 (32) [<c0177c5f>] __user_walk+0x30/0x4d (32) [<c01720eb>] vfs_stat+0x1f/0x5a (92) [<c0172784>] sys_stat64+0x1e/0x3d (100) [<c0107191>] sysenter_past_esp+0x52/0x71 (-4028)
while -RT made it a bit more murky by emitting an assert while the kernel tried to crash in a critical section, it doesnt seem to be a genuine -RT related crash.
(if it doesnt trigger in vanilla -mm3 then could you try -RT with PREEMPT_REALTIME disabled?)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.19
Am Montag 08 November 2004 11:19 schrieb Ingo Molnar:
Quoted 11 lines · Karsten Wiese
Quoted 6 lines
RT-V0.7.19-dmesg_after_boot_rl3.log is a freshly booted dmesg output after logging on via ssh. RT-V0.7.19-proc_acpi_TAB.log is captured via netconsole. This log started after logging in locally, then typing in "cat
/proc/acpi", then first <TAB> gives an additional "/", 2nd <TAB> gives no visual effect, 3rd <TAB> produces whats in the log.could you try this with vanilla -mm3 too? The crash seems to be generic:
Quoted 11 lines
[<c011ae89>] do_page_fault+0x3b7/0x64e (220) [<c0107c63>] error_code+0x2b/0x30 (100) [<c01991e4>] proc_lookup+0x81/0xc9 (52) [<c01762e8>] real_lookup+0xb2/0xd6 (36) [<c017660f>] do_lookup+0x82/0x8d (32) [<c0176d8f>] link_path_walk+0x775/0x1071 (108) [<c01779b2>] path_lookup+0xa5/0x1b0 (32) [<c0177c5f>] __user_walk+0x30/0x4d (32) [<c01720eb>] vfs_stat+0x1f/0x5a (92) [<c0172784>] sys_stat64+0x1e/0x3d (100) [<c0107191>] sysenter_past_esp+0x52/0x71 (-4028)
right, on -mm3 bash crashes alike on "cat /proc/acpi" + 3*<TAB>. Sent a dmesg output to Andrew under the "2.6.10-rc1-mm3"-thread.
Thanks,
Karsten
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
In reply to Ingo Molnari have released the -V0.7.21 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes and debugging-improvements.
Changes since -V0.7.20:
- reverted the modlist_lock change - it caused more problems than it solved.
- implemented irqs-off critical section timing/tracing, inspired by the positive results Thomas Gleixner got with a different kind of cli/sti tracer. To activate it, enable CONFIG_CRITICAL_TIMING and CONFIG_CRITICAL_IRQSOFF_TIMING and cli/sti latencies will be reported 'integrated' into the preempt on/off latencies.
- sped up tracing in a number of ways. Performance of the tracer slowly eroded in the past week or two, it needed alignment and size fixes , inlining/branch-prediction updates and i got rid of unnecessary code. The max latency is now traced in cycles - this got rid of an expensive 64-bit division in the fastpath. (the /proc/sys tunables are still in usecs so userspace should not notice anything.) It's still not cheap but roughly 5 times faster than -V0.7.20's tracer, on a fast desktop box.
- renamed CONFIG_PREEMPT_REALTIME to CONFIG_PREEMPT_RT - it's shorter.
- renamed CONFIG_PREEMPT_TIMING to CONFIG_CRITICAL_TIMING and introduced CONFIG_CRITICAL_IRQSOFF_TIMING to enable cli/sti timing.
to create a -V0.7.21 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.21
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
Quoted 32 lines · Ingo Molnar
i have released the -V0.7.21 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes and debugging-improvements.
Changes since -V0.7.20:
- reverted the
modlist_lockchange - it caused more problems than it solved.- implemented irqs-off critical section timing/tracing, inspired by the positive results Thomas Gleixner got with a different kind of cli/sti tracer. To activate it, enable
CONFIG_CRITICAL_TIMINGandCONFIG_CRITICAL_IRQSOFF_TIMINGand cli/sti latencies will be reported 'integrated' into the preempt on/off latencies.- sped up tracing in a number of ways. Performance of the tracer slowly eroded in the past week or two, it needed alignment and size fixes , inlining/branch-prediction updates and i got rid of unnecessary code. The max latency is now traced in cycles - this got rid of an expensive 64-bit division in the fastpath. (the
/proc/systunables are still in usecs so userspace should not notice anything.) It's still not cheap but roughly 5 times faster than -V0.7.20's tracer, on a fast desktop box.- renamed
CONFIG_PREEMPT_REALTIMEtoCONFIG_PREEMPT_RT- it's shorter.- renamed
CONFIG_PREEMPT_TIMINGtoCONFIG_CRITICAL_TIMINGand introducedCONFIG_CRITICAL_IRQSOFF_TIMINGto enable cli/sti timing.
Quoted 11 lines
to create a -V0.7.21 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.21Ingo
When trying to patch my kernel i get following notice:
patching file include/linux/highmem.h
patch unexpectedly ends in middle of line
patch: **** unexpected end of file in patch
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
Quoted 4 lines · Gunther Persoons
When trying to patch my kernel i get following notice:
patching fileinclude/linux/highmem.h
patch unexpectedly ends in middle of line
patch: **** unexpected end of file in patch
yeah ... the result of an incomplete upload. I've uploaded -V0.7.22 that is a full patch. (no other changes)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
In reply to Ingo MolnarHello Ingo,
Quoted 2 lines · Ingo Molnar
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V
0.7.21
Unfortunately, it seems corrupted.
Regards,
Norberto
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
Quoted 4 lines · Norberto Bensa
Hello Ingo,
Ingo Molnar wrote:
Quoted 9 lines
Quoted 2 lines
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V
0.7.21Unfortunately, it seems corrupted.
Regards,
Norberto
Yeah, what he said. :)
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
Quoted 3 lines · K.R. Foley
Quoted 1 line
Unfortunately, it seems corrupted.
Yeah, what he said. :)
i've uploaded -V0.7.22, please try that instead.
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to Ingo Molnari have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes, development/debugging improvements and latency improvements and other speedups.
the biggest change is the reworked timing/tracing framework. Wakeup timing became a compile-time thing and can be selected independently of the preemption mode - i.e. it can now be used on near-vanilla !PREEMPT kernels too, providing good wakeup-latency comparison of the various preemption models.
irqs-off and preempt-off critical section timing/tracing can be selected if wakeup timing is disabled, the two options can be selected separately or together as well.
another improvement is that wakeup-timing now works correctly on SMP too
- the tracer 'follows' the highest-priority task in the system as it gets bounced between CPUs and always traces the CPU where the task is pending.
other changes since -V0.7.22:
- semaphore livelock fix: feedback from Mark H. Johnson pinpointed a bug in the down_trylock() semaphore code: if preempted in the wrong moment a lower-prio task could cause a higher-prio task to livelock indefinitely. This fix could solve the 'keventd looping' problem reported by Mark.
the fix is to make the down_trylock() code a bit simpler, but this also introduces the potential for down_trylock() to get 'spurious' locking-rejects. Hopefully this wont be a big problem - we dont really guarantee that down_trylock() succeeds - but code using higher semaphore counts to track resources could be negatively impacted by this. We'll see.
- console assert fix: implemented a different type of fbcon RT-preemption handling variant, this could solve the assert reported by Amit Shah.
- debugging improvement: implemented a sequence counter for max latency traces. This has the advantage of solving the 'slow console on SMP problem': the latency-timing code used to get confused by another CPU printing a timing message to a slow console and thus delaying that other CPU. Now any latency that gets generated while a maximum is printed is skipped.
- further shrunk the non-debug size of struct rt_mutex by moving the save_state logic into the debug paths - size is now 4 machine-words.
- fixed CONFIG_HIGHMEM latencies: all atomic-kmap APIs are now wrapped seemlessly and in a preemptible way.
- implemented an IO-APIC register cache to speed up the IRQ-redirection latency hotpath. Also, made the POST flush a bit faster.
- disable KGDB if PREEMPT_RT - it's broken for now.
- move some runtime checks to under DEBUG_PREEMPT - this speeds up CRITICAL_PREEMPT_TIMING.
to create a -V0.7.23 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.23
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Am Dienstag 09 November 2004 17:05 schrieb Ingo Molnar:
Quoted 5 lines
i have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi
On SMP/HT/P4 I get:
BUG: lock held at task exit time!
This was captured via netconsole:
<NETCONSOLELOG>
apm: disabled - APM is not SMP safe.
sh:5429 BUG: lock held at task exit time!
[c03af1c4] {kernel_sem.lock}
.. held by: sh/ 5429 [f4d2c420, 117]
... acquired at: __reacquire_kernel_lock+0x2e/0x60
sh/5429: BUG in __up_mutex at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1064
BUG: sleeping function called from invalid context sh(5429) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1314 in_atomic():1 [00000003], irqs_disabled():0 [<c010704e>] dump_stack+0x23/0x25 (20) [<c011d10b>] __might_sleep+0xbc/0xcf (36) [<c013a136>] __spin_lock+0x34/0x50 (24) [<c013a16f>] _spin_lock+0x1d/0x1f (16) [<c014e36b>] kmem_cache_alloc+0x37/0xf1 (32) [<c02c95d4>] alloc_skb+0x28/0xe6 (32) [<c02da818>] find_skb+0x31/0x9b (24) [<c02da97a>] netpoll_send_udp+0x40/0x25a (48) [<c028f246>] write_msg+0x56/0xfa (52) [<c0120e06>] __call_console_drivers+0x56/0x65 (32) [<c0120f49>] call_console_drivers+0xac/0x163 (36) [<c0121326>] release_console_sem+0x33/0xde (32) [<c012122c>] vprintk+0x134/0x16d (36) [<c01210f6>] printk+0x1d/0x1f (16) [<c01390ee>] __up_mutex+0x270/0x443 (68) [<c0139fc2>] up+0xe0/0xec (36) [<c0342e95>] __schedule+0x985/0xdb4 (124) [<c0123afc>] do_exit+0x331/0x59f (48) [<c0123e81>] do_group_exit+0x39/0xd1 (40) [<c01061a1>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c0142848>] .. ( <= __do_IRQ+0xf6/0x16e)
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c010b340>] .. ( <= timer_interrupt+0xd3/0x10f)
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c013b1c9>] .. ( <= trace_start_sched_wakeup+0x22/0x7e)
.. [<c013b764>] .... print_traces+0x1b/0x52
.....[<c010704e>] .. ( <= dump_stack+0x23/0x25)
[<c010704e>] dump_stack+0x23/0x25 (20) [<c01390f3>] __up_mutex+0x275/0x443 (68) [<c0139fc2>] up+0xe0/0xec (36) [<c0342e95>] __schedule+0x985/0xdb4 (124) [<c0123afc>] do_exit+0x331/0x59f (48) [<c0123e81>] do_group_exit+0x39/0xd1 (40) [<c01061a1>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c0142848>] .. ( <= __do_IRQ+0xf6/0x16e)
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c010b340>] .. ( <= timer_interrupt+0xd3/0x10f)
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c013b1c9>] .. ( <= trace_start_sched_wakeup+0x22/0x7e)
.. [<c013b764>] .... print_traces+0x1b/0x52
.....[<c010704e>] .. ( <= dump_stack+0x23/0x25)
autom4te/5419: BUG in lock_new_owner at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:651
[<c010704e>] dump_stack+0x23/0x25 (20) BUG: scheduling while atomic: autom4te/0x00000001/5419 caller is schedule+0x38/0x12e [<c010704e>] dump_stack+0x23/0x25 (20) [<c0342f06>] __schedule+0x9f6/0xdb4 (124) [<c03432fc>] schedule+0x38/0x12e (36) [<c0344758>] __down_mutex+0x225/0x30f (84) [<c013a148>] __spin_lock+0x46/0x50 (24) [<c013a1cc>] _spin_lock_irqsave+0x1d/0x21 (16) [<c028b31e>] e100_xmit_frame+0x13f/0x2d8 (60) [<c02da8a5>] netpoll_send_skb+0x23/0xb8 (28) [<c028f246>] write_msg+0x56/0xfa (52) [<c0120e06>] __call_console_drivers+0x56/0x65 (32) [<c0120f49>] call_console_drivers+0xac/0x163 (36) [<c0121326>] release_console_sem+0x33/0xde (32) [<c012122c>] vprintk+0x134/0x16d (36) [<c01210f6>] printk+0x1d/0x1f (16) [<c0106f4c>] show_trace+0x89/0xcd (36) [<c010704e>] dump_stack+0x23/0x25 (20) [<c0138be0>] lock_new_owner+0xbe/0xe2 (40) [<c034462e>] __down_mutex+0xfb/0x30f (84) [<c013a148>] __spin_lock+0x46/0x50 (24) [<c013a1cc>] _spin_lock_irqsave+0x1d/0x21 (16) [<c012a6d8>] del_timer+0x2c/0xe4 (32) [<c012a7e1>] del_timer_sync+0x51/0x14b (104) [<c0330469>] __rpc_execute+0x8d/0x3db (112) [<c032bd4e>] rpc_call_sync+0x9b/0xc8 (40) [<c01b7b4d>] nfs3_rpc_wrapper+0x3d/0x82 (40) [<c01b7d31>] nfs3_proc_getattr+0x50/0x81 (40) [<c01aeeec>] __nfs_revalidate_inode+0xf3/0x3b7 (192) [<c01aac1c>] nfs_lookup_revalidate+0x37e/0x54c (352) [<c0173220>] do_lookup+0x53/0x8d (32) [<c01733da>] link_path_walk+0x180/0x1071 (108) [<c01745f2>] path_lookup+0xa5/0x1b0 (32) [<c017489f>] __user_walk+0x30/0x4d (32) [<c016ed2b>] vfs_stat+0x1f/0x5a (92) [<c016f3c4>] sys_stat64+0x1e/0x3d (100) [<c01061a1>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0344e5b>] .... _raw_spin_lock+0x1c/0x73
.....[<c0118894>] .. ( <= task_rq_lock+0x32/0x5b)
.. [<c013b764>] .... print_traces+0x1b/0x52
.....[<c010704e>] .. ( <= dump_stack+0x23/0x25)
</NETCONSOLELOG>
The "lock_new_owner" BUGs then repeated until the machine was restarted.
With HIGHMEM enabled, there were really weired things happening. <HIGHMEMENABLEDLOG>
BUG at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/mm/highmem.c:191!
------------[ cut here ]------------ BUG: sleeping function called from invalid context init(1) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1314 in_atomic():1 [00000001], irqs_disabled():0 [<c010704e>] dump_stack+0x23/0x25 (20) [<c011d3db>] __might_sleep+0xbc/0xcf (36) [<c013a3e6>] __spin_lock+0x34/0x50 (24) [<c013a41f>] _spin_lock+0x1d/0x1f (16) [<c014e632>] kmem_cache_alloc+0x37/0xf1 (32) [<c02ca4f4>] alloc_skb+0x28/0xe6 (32) [<c02db938>] find_skb+0x31/0x9b (24) [<c02dba9a>] netpoll_send_udp+0x40/0x25a (48) [<c02900c6>] write_msg+0x56/0xfa (52) [<c01210d6>] __call_console_drivers+0x56/0x65 (32) [<c0121219>] call_console_drivers+0xac/0x163 (36) [<c01215f6>] release_console_sem+0x33/0xde (32) [<c01214fc>] vprintk+0x134/0x16d (36) [<c01213c6>] printk+0x1d/0x1f (16) [<c0107299>] handle_BUG+0x63/0x9e (28) [<c0107356>] die+0x82/0x195 (64) [<c01079ac>] do_invalid_op+0x127/0x129 (192) [<c0106c73>] error_code+0x2b/0x30 (76) [<c01541dc>] copy_pte_range+0xd8/0x1e3 (48) [<c015439b>] copy_pmd_range+0xb4/0xca (52) [<c015441e>] copy_pgd_range+0x6d/0x8c (48) [<c0154483>] copy_page_range+0x46/0x4e (48) [<c011e76c>] copy_mm+0x28a/0x3ac (76) [<c011f352>] copy_process+0x54a/0xf1b (76) [<c011fe2c>] do_fork+0x6e/0x1ce (132) [<c0104d08>] sys_fork+0x3d/0x3f (32) [<c01061a1>] sysenter_past_esp+0x52/0x71 (-4028) ---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0345fad>] .... _raw_spin_lock_irqsave+0x1b/0x70
.....[<c0107318>] .. ( <= die+0x44/0x195)
.. [<c013ba14>] .... print_traces+0x1b/0x52
.....[<c010704e>] .. ( <= dump_stack+0x23/0x25)
</HIGHMEMENABLEDLOG>
looks like some machinecode was undigestible for the cpu, no?
Best regards,
Karsten
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Am Mittwoch 10 November 2004 14:52 schrieb Karsten Wiese:
Quoted 11 lines
Am Dienstag 09 November 2004 17:05 schrieb Ingo Molnar:
Quoted 5 lines
i have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi
On SMP/HT/P4 I get:
BUG: lock held at task exit time!
Forgot to write that this happened with V0.7.24.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to Karsten WieseQuoted 8 lines · Karsten Wiese
Hi
On SMP/HT/P4 I get:
BUG: lock held at task exit time!sh/5429: BUG in
__up_mutexat/home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1064BUG: sleeping function called from invalid context sh(5429) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1314in_atomic():1 [00000003], irqs_disabled():0
hm, apparently something leaked a BKL count. Unfortunately we dont know precisely what did it, only that it happened. Did this happen during bootup, or during normal use. Can you trigger it arbitrarily?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Am Mittwoch 10 November 2004 16:01 schrieb Ingo Molnar:
Quoted 8 lines · Karsten Wiese
Quoted 5 lines
Hi
On SMP/HT/P4 I get:
BUG: lock held at task exit time!
Quoted 7 lines
Quoted 3 lines
sh/5429: BUG in
__up_mutexat/home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1064BUG: sleeping function called from invalid context sh(5429) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1314in_atomic():1 [00000003], irqs_disabled():0
hm, apparently something leaked a BKL count. Unfortunately we dont know precisely what did it, only that it happened. Did this happen during bootup, or during normal use. Can you trigger it arbitrarily?
Yes, it always happens, when callling ./cvscompile script of a project, that is mounted via nfs. Haven't tried to do that ./cvscompile locally, should I?
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Quoted 3 lines · Karsten Wiese
Yes, it always happens, when callling ./cvscompile script of a project, that is mounted via nfs. Haven't tried to do that ./cvscompile locally, should I?
very interesting, nfs is indeed one of the frequent BKL users.
a 'BKL leak' is an unbalanced lock, e.g.:
lock_kernel(); ... do stuff ... if (error) return; ... do more stuff ... unlock_kernel();
the BKL is a very special type of lock which fact has the side-effect that in the stock kernel a 'BKL leak' can go unnoticed very easily: it causes no problems other than hard-to-debug (but severe) scalability regressions. The moment the BKL count leaked from the NFS code that process has been 'scalability-poisoned' and will be handicapped until it exits.
In the PREEMPT_RT patchset i added a strict locking checker to do_exit() that found this apparent NFS bug. Unfortunately the deadlock detector only reported a pretty common place where the BKL gets dropped/reacquired frequently so we dont know where the NFS code has the lock/unlock imbalance. Could you report this bug to the NFS maintainers (along with the above and the previous analysis)?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to Karsten WieseAm Mittwoch 10 November 2004 15:20 schrieb Karsten Wiese:
Quoted 13 lines
Am Mittwoch 10 November 2004 16:01 schrieb Ingo Molnar:
Quoted 12 lines · Karsten Wiese
Quoted 9 lines
Hi
On SMP/HT/P4 I get:
BUG: lock held at task exit time!sh/5429: BUG in
__up_mutexat/home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1064BUG: sleeping function called from invalid context sh(5429) at /home/ka/kernel/2.6/linux-2.6.9-rc1-mm3-RT/kernel/rt.c:1314in_atomic():1 [00000003], irqs_disabled():0
Quoted 6 lines
Quoted 3 lines
hm, apparently something leaked a BKL count. Unfortunately we dont know precisely what did it, only that it happened. Did this happen during bootup, or during normal use. Can you trigger it arbitrarily?
Yes, it always happens, when callling ./cvscompile script of a project, that is mounted via nfs. Haven't tried to do that ./cvscompile locally, should I?
./cvscompile locally is ok.
Also if I disable HT in BIOS, the machine survives the crash "./cvscompile"ing via nfs and the next "./cvscompile"s over nfs are ok. Also if I unmount / mount the nfs share again. So it always happens the first time calling this ./cvscompile via nfs.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to Ingo MolnarQuoted 5 lines · Ingo Molnar
i have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
I have found some test results that I find interesting with -V0.7.24. I modified the rtc-debug patch to work with any program that can use the rtc driver. It measures the latency between handling an interrupt and the actual read. The amlat program normally used with this patch sets up a signal handler that reads /dev/rtc when there is data available and then sleeps until it receives the signal. Realfeel just does a blocking read on /dev/rtc. Oh and both of them setup the rtc for periodic interrupts. I would probably expect the blocking read to be a bit faster but not dramatically. Here are the results of a couple of very short runs to illustrate the difference:
amlat results (sleep/sighandler):
Nov 10 21:10:39 daffy kernel: rtc histogram: Nov 10 21:10:39 daffy kernel: 26 1 Nov 10 21:10:39 daffy kernel: 28 2152 Nov 10 21:10:39 daffy kernel: 29 4286 Nov 10 21:10:39 daffy kernel: 30 6857 Nov 10 21:10:39 daffy kernel: 31 408 Nov 10 21:10:39 daffy kernel: 32 9 Nov 10 21:10:39 daffy kernel: 33 32 Nov 10 21:10:39 daffy kernel: 34 217 Nov 10 21:10:39 daffy kernel: 35 145 Nov 10 21:10:39 daffy kernel: 36 26 Nov 10 21:10:39 daffy kernel: 40 2 Nov 10 21:10:39 daffy kernel: 41 9 Nov 10 21:10:39 daffy kernel: 42 100 Nov 10 21:10:39 daffy kernel: 43 180 Nov 10 21:10:39 daffy kernel: 44 113 Nov 10 21:10:39 daffy kernel: 45 30 Nov 10 21:10:39 daffy kernel: 46 2 Nov 10 21:10:39 daffy kernel: 47 4 Nov 10 21:10:39 daffy kernel: 48 15 Nov 10 21:10:39 daffy kernel: 49 4 Nov 10 21:10:39 daffy kernel: 50 5 Nov 10 21:10:39 daffy kernel: Nov 10 21:10:39 daffy kernel: Total samples: 14597
realfeel results (blocking read):
Nov 10 21:11:32 daffy kernel: rtc histogram: Nov 10 21:11:32 daffy kernel: 3 17844 Nov 10 21:11:32 daffy kernel: 4 859 Nov 10 21:11:32 daffy kernel: 5 34 Nov 10 21:11:32 daffy kernel: 6 1 Nov 10 21:11:32 daffy kernel: 8 1 Nov 10 21:11:32 daffy kernel: 12 19 Nov 10 21:11:32 daffy kernel: 13 41 Nov 10 21:11:32 daffy kernel: 14 7 Nov 10 21:11:32 daffy kernel: Nov 10 21:11:32 daffy kernel: Total samples: 18806
Both of the above runs were with 'IRQ 8' running at SCHED_FF 99. Amlat and realfeel were both running at SCHED_FF 98. The updated rtc-debug patch to follow in case anyone is interested.
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to Ingo MolnarQuoted 3 lines · Ingo Molnar
i have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
Here is the updated rtc-debug patch. This version unlike previous versions doesn't change the way the rtc driver works. The output of /dev/rtc is preserved also so it doesn't break the existing functionality of rtc. By the same token it won't produce output usable by amlat, but it works for measuring the latency from interrupt to read. It doesn't measure when a poll is satisfied yet because I didn't need that yet. It doesn't trigger the end until the read.
kr
drivers/char/rtc.c renamed from drivers/char/rtc.c.orig +126 -1
@@ -86,6 +86,18 @@#include <asm/hpet.h> #endif +static unsigned long long last_interrupt_time; + +#include <asm/timex.h> + + +#define CPU_MHZ (cpu_khz / 1000) +#define HISTSIZE 10000 +static int histogram[HISTSIZE ]; + +int rtc_debug; +int rtc_running; +#ifdef __sparc__#include <linux/pci.h> #include <asm/ebus.h>
@@ -191,6 +203,14 @@static const unsigned char days_in_mo[] = {0 ,31 ,28 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31 }; +static int rtc_state; + +enum rtc_states { +S_IDLE ,/* Waiting for an interrupt */ +S_WAITING_FOR_READ ,/* Signal delivered. waiting for rtc_read() */ +S_READ_MISSED ,/* Signal delivered, read() deadline missed */ +}; +/* * Returns true if a clock update is in progress */
@@ -259,7 +279,37 @@spin_unlock_irqrestore (&rtc_task_lock, flags);wake_up_interruptible (&rtc_wait); -kill_fasync (&rtc_async_queue,SIGIO ,POLL_IN ); +if (!(rtc_status &RTC_IS_OPEN )) + goto tata; + +switch (rtc_state) { +case S_IDLE :/* Waiting for an interrupt */ +rdtscll (last_interrupt_time); +kill_fasync (&rtc_async_queue,SIGIO ,POLL_IN ); + rtc_state =S_WAITING_FOR_READ ; +break ; +case S_WAITING_FOR_READ :/* Signal has been delivered. waiting for rtc_read() */ +/* +* Well foo. The usermode application didn't schedule and read in time. +*/ + rtc_state =S_READ_MISSED ; +if (strcmp (current->comm,"amlat" ) !=0 ) { +printk ("`%s'[%d] is being piggy. " +"need_resched=%d, cpu=%d\n" , + current->comm, current->pid, +need_resched (),smp_processor_id ()); +/* show_trace_smp(); */ + } +printk ("Read missed before next interrupt\n" ); +break ; +case S_READ_MISSED :/* Signal has been delivered, read() deadline was missed */ +/* +* Not much we can do here. We're waiting for the usermode +* application to read the rtc +*/ +break ; + } +tata:return IRQ_HANDLED ; }
@@ -328,6 +378,7 @@DECLARE_WAITQUEUE (wait, current);unsigned long data;ssize_t retval; +unsigned long long now;if (rtc_has_irq ==0 )return -EIO ;
@@ -363,6 +414,56 @@schedule (); }while (1 ); +rdtscll (now); + +switch (rtc_state) { +case S_IDLE :/* Waiting for an interrupt */ +/* +* err... This can't be happening +*/ +printk ("rtc_read(): called in state S_IDLE!\n" ); +break ; +case S_WAITING_FOR_READ :/* +* Signal has been delivered. +* waiting for rtc_read() +*/ +/* +* Well done +*/ +case S_READ_MISSED :/* +* Signal has been delivered, read() +* deadline was missed +*/ +/* +* So, you finally got here. +*/ +if (last_interrupt_time ==0 ) +printk ("rtc_read(): we screwed up. " +"last_interrupt_time = 0\n" ); + rtc_state =S_IDLE ; + { +unsigned long long latency = now - last_interrupt_time; +unsigned long delta;/* Nocroseconds */ + + delta = latency; + delta /=CPU_MHZ ; +if (delta >1000 *1000 ) { +printk ("rtc: eek\n" ); + }else { +unsigned long slot = delta; +if (slot >=HISTSIZE ) + slot =HISTSIZE -1 ; + histogram[slot]++; +if (delta >2000 ) +printk ("wow! That was a " +"%ld millisec bump\n" , + delta /1000 ); + } + } + rtc_state =S_IDLE ; +break ; + } +if (count <sizeof (unsigned long )) retval =put_user (data, (unsigned int __user *)buf) ?:sizeof (int );else
@@ -692,6 +793,8 @@* needed here. Or anywhere else in this driver. */ static int rtc_open (struct inode *inode,struct file *file) { +int i; +spin_lock_irq (&rtc_lock);if (rtc_status &RTC_IS_OPEN )
@@ -700,6 +803,14 @@ rtc_status |=RTC_IS_OPEN ; rtc_irq_data =0 ; + last_interrupt_time =0 ; + rtc_state =S_IDLE ; + rtc_irq_data =0 ; + + rtc_running =1 ; +for (i =0 ; i <HISTSIZE ; i++) + histogram[i] =0 ; +spin_unlock_irq (&rtc_lock);return 0 ;
@@ -753,6 +864,19 @@ rtc_irq_data =0 ; rtc_status &= ~RTC_IS_OPEN ;spin_unlock_irq (&rtc_lock); + { +int i =0 ; +unsigned long total =0 ; +printk ("rtc histogram:\n" ); +for (i =0 ; i <HISTSIZE ; i++) { +if (histogram[i]) { + total += histogram[i]; +printk ("%d %d\n" , i, histogram[i]); + } + } +printk ("\nTotal samples: %lu\n" , total); + rtc_running =0 ; + }return 0 ; }
@@ -1127,6 +1251,7 @@wake_up_interruptible (&rtc_wait);kill_fasync (&rtc_async_queue,SIGIO ,POLL_IN ); + return; }#endif
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Quoted 11 lines · K.R. Foley
Quoted 3 lines · Ingo Molnar
i have released the -V0.7.23 Real-Time Preemption patch, which can be downloaded from the usual place:
Here is the updated rtc-debug patch. This version unlike previous versions doesn't change the way the rtc driver works. The output of
/dev/rtcis preserved also so it doesn't break the existing functionality of rtc. By the same token it won't produce output usable by amlat, but it works for measuring the latency from interrupt to read.
looks good - i've added this to my tree. (with minor portability fixes:
rdtscll -> get_cycles(), long long -> cycles_t)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
In reply to K.R. FoleyQuoted 7 lines · K.R. Foley
Here is the updated rtc-debug patch. This version unlike previous versions doesn't change the way the rtc driver works. The output of
/dev/rtcis preserved also so it doesn't break the existing functionality of rtc. By the same token it won't produce output usable by amlat, but it works for measuring the latency from interrupt to read. It doesn't measure when a poll is satisfied yet because I didn't need that yet. It doesn't trigger the end until the read.
i've done some further cleanups: made it .config configurable (CONFIG_RTC_HISTOGRAM), moved the latency-histogram construction code into separate functions to make it more apparent that there is no impact to the normal codepaths. Patch attached.
Ingo
drivers/char/Kconfig renamed from drivers/char/Kconfig.orig +9 -0
@@ -729,6 +729,15 @@ config RTC To compile this driver as a module, choose M here: the module will be called rtc. +config RTC_HISTOGRAM + tristate "Real Time Clock Histogram Support" + default y + depends on RTC + ---help--- + If you say Y here then the kernel will track the delivery and + wakeup latency of /dev/rtc using tasks and will report a + histogram to the kernel log when the application closes /dev/rtc. + config SGI_DS1286 tristate "SGI DS1286 RTC support" depends on SGI_IP22
drivers/char/rtc.c renamed from drivers/char/rtc.c.orig +153 -1
190 lines not on this page · raw message
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Quoted 4 lines · Ingo Molnar
i've done some further cleanups: made it .config configurable (
CONFIG_RTC_HISTOGRAM), moved the latency-histogram construction code into separate functions to make it more apparent that there is no impact to the normal codepaths. Patch attached.
i've attached another update with a few more smaller details fixed:
- only print the histogram if a /dev/rtc using application indeed used it to get interrupts. This removes bogus printouts triggered by hwclock.
- skip the first RTC interrupt from the histogram - most of the /dev/rtc applications do not handle the first event very well, skewing the histogram.
Ingo
drivers/char/Kconfig renamed from drivers/char/Kconfig.orig +9 -0
@@ -729,6 +729,15 @@ config RTC To compile this driver as a module, choose M here: the module will be called rtc. +config RTC_HISTOGRAM + tristate "Real Time Clock Histogram Support" + default y + depends on RTC + ---help--- + If you say Y here then the kernel will track the delivery and + wakeup latency of /dev/rtc using tasks and will report a + histogram to the kernel log when the application closes /dev/rtc. + config SGI_DS1286 tristate "SGI DS1286 RTC support" depends on SGI_IP22
drivers/char/rtc.c renamed from drivers/char/rtc.c.orig +165 -1
202 lines not on this page · raw message
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
Quoted 15 lines · Ingo Molnar
Quoted 4 lines · Ingo Molnar
i've done some further cleanups: made it .config configurable (
CONFIG_RTC_HISTOGRAM), moved the latency-histogram construction code into separate functions to make it more apparent that there is no impact to the normal codepaths. Patch attached.i've attached another update with a few more smaller details fixed:
- only print the histogram if a
/dev/rtcusing application indeed used it to get interrupts. This removes bogus printouts triggered by hwclock.
Quoted 5 lines
- skip the first RTC interrupt from the histogram - most of the
/dev/rtcapplications do not handle the first event very well, skewing the histogram.Ingo
Very nicely done. Also much less of a hack now the way you took all of the code out of the normal codepaths and made it into inlines that pretty much compile out if not being used.
kr
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Ingo Molnari have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes, new features and latency improvements.
the biggest change is the threading of the lone remaining non-threaded external interrupt: the timer interrupt (IRQ#0).
It was not threaded until now because unlike device interrupts the timer interrupt is quite deeply attached to Linux's architecture, driving process timing, profiling and the scheduler. I separated these into stuff that can be done from a thread context and stuff that needs to execute directly.
Fortunately most of the expensive and latency-generating stuff could be pushed into the irq thread. As a side-effect this enabled the turning of rtc_lock and xtime_lock into a mutex. Also, it removed some ugly hacks from rtc.c and should improve worst-case latencies.
the other bigger change is the reworking of the .config space. Instead of the deep hierarchy of hard-to-understand technical PREEMPT options, there's now a flattened out choice of 4 preemption models:
( ) No Forced Preemption (Server) ( ) Voluntary Kernel Preemption (Desktop) ( ) Preemptible Kernel (Low-Latency Desktop)
(X) Complete Preemption (Real-Time)
and updated help texts. Plus for the preemption models where it can be freely turned off, softirq and hardirq threading is an additional option.
the third bigger change is the reworking of the tracer to make it easier to drive it from user-space. There are 3 runtime flags now:
/proc/sys/kernel/trace_enabled (default: 1) /proc/sys/kernel/trace_user_triggered (default: 0) /proc/sys/kernel/trace_freerunning (default: 0)
semantics of user-triggered tracing: if enabled then any active tracing of wakeup and/or critical sections stops and userspace drives start/stop events via gettimeofday(0,1)/gettimeofday(0,0). The latter saves the current trace into /proc/latency_trace, the former clears the trace buffer and starts tracing anew. Doing another gettimeofday(0,1) on an already running tracer clears the trace and restarts it without saving the current trace into /proc/latency_trace. Doing a gettimeofday(0,0) on an already stopped tracer has no effect (i.e. /proc/latency_trace wont be saved a second time). The tracer does timing for userspace automatically the same way it does it for the built-in timing mechanisms, and it can be configured via the preempt_max_latency and preempt_tresh tunables.
also, wakeup-timing, irq-off and preempt-off critical section timing can now be done at once again, the /proc/sys/kernel/preempt_wakeup_timing flag switches between the modes. (default: 1)
other changes since -V0.7.24:
- debug feature: added the RTC-debug patch sanitized by K.R. Foley, plus further cleanups.
- added upstream fix for kobject related crash, pointed out by Shane Shrybman.
- cleanup: Kconfig help text fixes from Amit Shah
- latency improvement: on UP-IOAPIC, when redirecting an interrupt, do not ack the APIC. This is the method used for direct interrupts and on UP it might as well work out fine. It is certainly faster than masking/unmasking, making UP-IOAPIC the fastest PIC mode again.
- livelock fix: the timer-irq threading unearthed a seqlock related livelock scenario, which triggered in do_gettimeoffset() big-time. The solution is to serialize seqlock readers with writers _iff_ the seqlock status is 'invalid'. This is a rare event, but when it happens it saves the day.
- debugging helper: the /proc/sys/kernel/debug_direct_keyboard flag (default: 0) will hack the keyboard IRQ into being direct. NOTE: the keyboard in this mode should only be used to access SysRq functionality that is not possible via the threaded keyboard handler. The direct keyboard IRQ can crash the system.
- new kernel profiling features: added profile=preempt to profile whether interrupts hit the kernel in preemptible mode or in a critical section. Added /proc/sys/kernel/prof_pid to profile a specific PID only. (default: -1, meaning all tasks profiled) Added /proc/irq/prof_cpu_mask back.
- robustness improvement: do not report atomicity-warnings during kernel oopses - it's more important to get the oops out to the console.
to create a -V0.7.25-0 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.25-0
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 95 lines · Ingo Molnar
i have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release includes fixes, new features and latency improvements.
the biggest change is the threading of the lone remaining non-threaded external interrupt: the timer interrupt (IRQ#0).
It was not threaded until now because unlike device interrupts the timer interrupt is quite deeply attached to Linux's architecture, driving process timing, profiling and the scheduler. I separated these into stuff that can be done from a thread context and stuff that needs to execute directly.
Fortunately most of the expensive and latency-generating stuff could be pushed into the irq thread. As a side-effect this enabled the turning of
rtc_lockandxtime_lockinto a mutex. Also, it removed some ugly hacks fromrtc.cand should improve worst-case latencies.the other bigger change is the reworking of the .config space. Instead of the deep hierarchy of hard-to-understand technical PREEMPT options, there's now a flattened out choice of 4 preemption models:
( ) No Forced Preemption (Server)
( ) Voluntary Kernel Preemption (Desktop) ( ) Preemptible Kernel (Low-Latency Desktop)
(X) Complete Preemption (Real-Time)and updated help texts. Plus for the preemption models where it can be freely turned off, softirq and hardirq threading is an additional option.
the third bigger change is the reworking of the tracer to make it easier to drive it from user-space. There are 3 runtime flags now:
/proc/sys/kernel/trace_enabled (default: 1) /proc/sys/kernel/trace_user_triggered (default: 0) /proc/sys/kernel/trace_freerunning (default: 0)semantics of user-triggered tracing: if enabled then any active tracing of wakeup and/or critical sections stops and userspace drives start/stop events via gettimeofday(0,1)/gettimeofday(0,0). The latter saves the current trace into
/proc/latency_trace, the former clears the trace buffer and starts tracing anew. Doing anothergettimeofday(0,1)on an already running tracer clears the trace and restarts it without saving the current trace into/proc/latency_trace. Doing agettimeofday(0,0)on an already stopped tracer has no effect (i.e./proc/latency_tracewont be saved a second time). The tracer does timing for userspace automatically the same way it does it for the built-in timing mechanisms, and it can be configured via thepreempt_max_latencyandpreempt_treshtunables.also, wakeup-timing, irq-off and preempt-off critical section timing can now be done at once again, the
/proc/sys/kernel/preempt_wakeup_timingflag switches between the modes. (default: 1)other changes since -V0.7.24:
- debug feature: added the RTC-debug patch sanitized by K.R. Foley, plus further cleanups.
- added upstream fix for kobject related crash, pointed out by Shane Shrybman.
- cleanup:
Kconfighelp text fixes from Amit Shah- latency improvement: on UP-IOAPIC, when redirecting an interrupt, do not ack the APIC. This is the method used for direct interrupts and on UP it might as well work out fine. It is certainly faster than masking/unmasking, making UP-IOAPIC the fastest PIC mode again.
- livelock fix: the timer-irq threading unearthed a seqlock related livelock scenario, which triggered in
do_gettimeoffset()big-time. The solution is to serialize seqlock readers with writers _iff_ the seqlock status is 'invalid'. This is a rare event, but when it happens it saves the day.- debugging helper: the
/proc/sys/kernel/debug_direct_keyboardflag (default: 0) will hack the keyboard IRQ into being direct. NOTE: the keyboard in this mode should only be used to access SysRq functionality that is not possible via the threaded keyboard handler. The direct keyboard IRQ can crash the system.- new kernel profiling features: added profile=preempt to profile whether interrupts hit the kernel in preemptible mode or in a critical section. Added
/proc/sys/kernel/prof_pidto profile a specific PID only. (default: -1, meaning all tasks profiled) Added/proc/irq/prof_cpu_maskback.- robustness improvement: do not report atomicity-warnings during kernel oopses - it's more important to get the oops out to the console.
Quoted 11 lines
to create a -V0.7.25-0 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.25-0Ingo
Got 2 times a hard lock up with this one. Happened while i was typing something and downloading both after 15-20 minutes.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 2 lines · Gunther Persoons
Got 2 times a hard lock up with this one. Happened while i was typing something and downloading both after 15-20 minutes.
.config?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 6 lines · Ingo Molnar
Quoted 2 lines · Gunther Persoons
Got 2 times a hard lock up with this one. Happened while i was typing something and downloading both after 15-20 minutes.
.config?
just in case you are using UP-IOAPIC, could you enable CONFIG_SMP (even if you are running an UP box) and see whether the lockup goes away? Which was the last -RT kernel that you tried that didnt lock up in this fashion?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 12 lines · Ingo Molnar
Quoted 8 lines · Ingo Molnar
Quoted 4 lines · Gunther Persoons
Got 2 times a hard lock up with this one. Happened while i was typing something and downloading both after 15-20 minutes.
Quoted 8 lines
Quoted 3 lines
.config?
just in case you are using UP-IOAPIC, could you enable
CONFIG_SMP(even if you are running an UP box) and see whether the lockup goes away?
Ok. Going to build a new kernel.
Quoted 4 lines
Which was the last -RT kernel that you tried that didnt lock up in this fashion?
V0.7.24.
Quoted 4 lines
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Ingo MolnarQuoted 4 lines · Ingo Molnar
just in case you are using UP-IOAPIC, could you enable
CONFIG_SMP(even if you are running an UP box) and see whether the lockup goes away? Which was the last -RT kernel that you tried that didnt lock up in this fashion?
if with CONFIG_SMP it's more stable, could you try the following: turn off CONFIG_SMP again and edit arch/i386/kernel/io_apic.c and remove this string:
&& defined(CONFIG_SMP)
(there should be only one occurence of this string.)
this will turn the previous IO-APIC logic (used in -V0.7.24) back on.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 15 lines · Ingo Molnar
Quoted 6 lines · Ingo Molnar
just in case you are using UP-IOAPIC, could you enable
CONFIG_SMP(even if you are running an UP box) and see whether the lockup goes away? Which was the last -RT kernel that you tried that didnt lock up in this fashion?if with
CONFIG_SMPit's more stable, could you try the following: turn offCONFIG_SMPagain and editarch/i386/kernel/io_apic.cand remove this string:
Quoted 10 lines
&& defined(CONFIG_SMP)(there should be only one occurence of this string.)
this will turn the previous IO-APIC logic (used in -V0.7.24) back on.
Ingo
It locked up after 20 minutes with CONFIG_SMP enabled.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Ingo MolnarQuoted 4 lines · Ingo Molnar
* Gunther Persoons <[email protected]> wrote:
Quoted 11 lines
Quoted 4 lines
Got 2 times a hard lock up with this one. Happened while i was typing something and downloading both after 15-20 minutes.
.config?
Ingo
Attached
#
# Automatically generated make config: don't edit # Linux kernel version: 2.6.10-rc1-mm3-RT-V0.7.25-0 # Thu Nov 11 16:07:49 2004
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_BROKEN_ON_SMP=yCONFIG_LOCK_KERNEL=y
#
# General setup
#CONFIG_LOCALVERSION=""CONFIG_SWAP=yCONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not setCONFIG_SYSCTL=y
# CONFIG_AUDIT is not setCONFIG_LOG_BUF_SHIFT=14CONFIG_HOTPLUG=yCONFIG_KOBJECT_UEVENT=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not setCONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not setCONFIG_FUTEX=yCONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SHMEM=yCONFIG_CC_ALIGN_FUNCTIONS=0CONFIG_CC_ALIGN_LABELS=0CONFIG_CC_ALIGN_LOOPS=0CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=yCONFIG_MODULE_FORCE_UNLOAD=yCONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_KMOD=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not setCONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not setCONFIG_X86_GENERIC=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_HPET_TIMER=yCONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not setCONFIG_PREEMPT_RT=yCONFIG_PREEMPT=yCONFIG_PREEMPT_SOFTIRQS=yCONFIG_PREEMPT_HARDIRQS=yCONFIG_PREEMPT_BKL=yCONFIG_X86_UP_APIC=y
# CONFIG_X86_UP_IOAPIC is not setCONFIG_X86_LOCAL_APIC=yCONFIG_X86_TSC=yCONFIG_X86_MCE=yCONFIG_X86_MCE_NONFATAL=yCONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not setCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=y
# CONFIG_EFI is not setCONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set
#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not setCONFIG_KERN_PHYS_OFFSET=1
# CONFIG_KEXEC is not set
#
# Power management options (ACPI, APM)
#CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI (Advanced Configuration and Power Interface) Support #CONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_SLEEP_PROC_FS=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=yCONFIG_ACPI_VIDEO=mCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set CONFIG_ACPI_THINKPAD=mCONFIG_ACPI_IBM=m
# CONFIG_ACPI_TOSHIBA is not set CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_BUS=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
# CONFIG_ACPI_CONTAINER is not set
#
# APM (Advanced Power Management) BIOS Support
#CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_PROC_INTF is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_24_API is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_TABLE=y
#
# CPUFreq processor drivers
#CONFIG_X86_ACPI_CPUFREQ=yCONFIG_X86_POWERNOW_K6=yCONFIG_X86_POWERNOW_K7=yCONFIG_X86_POWERNOW_K7_ACPI=yCONFIG_X86_POWERNOW_K8=yCONFIG_X86_POWERNOW_K8_ACPI=yCONFIG_X86_GX_SUSPMOD=yCONFIG_X86_SPEEDSTEP_CENTRINO=yCONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=yCONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=yCONFIG_X86_SPEEDSTEP_ICH=yCONFIG_X86_SPEEDSTEP_SMI=yCONFIG_X86_P4_CLOCKMOD=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not setCONFIG_X86_LONGRUN=yCONFIG_X86_LONGHAUL=y
#
# shared options # # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set CONFIG_X86_SPEEDSTEP_LIB=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_LEGACY_PROC=yCONFIG_PCI_NAMES=yCONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCCARD (PCMCIA/CardBus) support
#CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
# CONFIG_PCMCIA_OBSOLETE is not setCONFIG_PCMCIA=yCONFIG_CARDBUS=y
#
# PC-card bridges
#CONFIG_YENTA=m
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not setCONFIG_PCMCIA_PROBE=y
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=yCONFIG_BINFMT_MISC=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=m
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
# CONFIG_PNPACPI is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not setCONFIG_BLK_DEV_LOOP=yCONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not setCONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_SIZE=8192CONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE=""CONFIG_LBD=y
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=yCONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_BLK_DEV_IDECS is not set CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set CONFIG_BLK_DEV_IDESCSI=mCONFIG_IDE_TASK_IOCTL=y
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=yCONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not setCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not setCONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not setCONFIG_BLK_DEV_RZ1000=yCONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not setCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not setCONFIG_BLK_DEV_AEC62XX=yCONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not setCONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not setCONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not setCONFIG_BLK_DEV_HPT366=y
# CONFIG_BLK_DEV_SC1200 is not setCONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not setCONFIG_BLK_DEV_PDC202XX_OLD=y
# CONFIG_PDC202XX_BURST is not setCONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not setCONFIG_BLK_DEV_SIS5513=yCONFIG_BLK_DEV_SLC90E66=yCONFIG_BLK_DEV_TRM290=yCONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not setCONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#CONFIG_SCSI=m
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGIC_1280_1040 is not setCONFIG_SCSI_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#CONFIG_FUSION=mCONFIG_FUSION_MAX_SGE=40CONFIG_FUSION_CTL=m
#
# IEEE 1394 (FireWire) support
#CONFIG_IEEE1394=m
#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_IEEE1394_OUI_DB is not set
# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
#
# Device Drivers
#
#
# Texas Instruments PCILynx requires I2C
#CONFIG_IEEE1394_OHCI1394=m
#
# Protocol Drivers
#
# CONFIG_IEEE1394_VIDEO1394 is not setCONFIG_IEEE1394_SBP2=m
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
# CONFIG_IEEE1394_ETH1394 is not setCONFIG_IEEE1394_DV1394=mCONFIG_IEEE1394_RAWIO=mCONFIG_IEEE1394_CMP=mCONFIG_IEEE1394_AMDTP=m
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not setCONFIG_UNIX=yCONFIG_NET_KEY=mCONFIG_INET=yCONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not setCONFIG_INET_AH=mCONFIG_INET_ESP=m
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not setCONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not setCONFIG_XFRM=yCONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not setCONFIG_NETDEVICES=yCONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not setCONFIG_LANCE=mCONFIG_NET_VENDOR_SMC=y
# CONFIG_WD80x3 is not set
# CONFIG_ULTRA is not set
# CONFIG_SMC9194 is not set
# CONFIG_NET_VENDOR_RACAL is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not setCONFIG_HP100=m
# CONFIG_NET_ISA is not setCONFIG_NET_PCI=yCONFIG_PCNET32=mCONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not setCONFIG_APRICOT=mCONFIG_B44=mCONFIG_FORCEDETH=m
# CONFIG_CS89x0 is not setCONFIG_DGRS=m
# CONFIG_EEPRO100 is not setCONFIG_E100=m
# CONFIG_E100_NAPI is not set
# CONFIG_FEALNX is not setCONFIG_NATSEMI=mCONFIG_NE2K_PCI=mCONFIG_8139CP=mCONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not setCONFIG_SIS900=mCONFIG_EPIC100=mCONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not setCONFIG_TLAN=mCONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
# CONFIG_DL2K is not setCONFIG_E1000=m
# CONFIG_E1000_NAPI is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not setCONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not setCONFIG_TIGON3=m
#
# Ethernet (10000 Mbit)
#CONFIG_IXGB=m
# CONFIG_IXGB_NAPI is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#CONFIG_NET_RADIO=y
#
# Obsolete Wireless cards support (pre-802.11)
#
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set
# CONFIG_PCMCIA_WAVELAN is not set
# CONFIG_PCMCIA_NETWAVE is not set
#
# Wireless 802.11 Frequency Hopping cards support
#
# CONFIG_PCMCIA_RAYCS is not set
#
# Wireless 802.11b ISA/PCI cards support
#
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
#
# Wireless 802.11b Pcmcia/Cardbus cards support
#CONFIG_AIRO_CS=m
# CONFIG_PCMCIA_WL3501 is not set
#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support #
# CONFIG_PRISM54 is not set CONFIG_NET_WIRELESS=y
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not setCONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
# CONFIG_PPP_FILTER is not setCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_PPP_DEFLATE=mCONFIG_PPP_BSDCOMP=mCONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#CONFIG_GAMEPORT=mCONFIG_SOUND_GAMEPORT=m
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not setCONFIG_SERIO=yCONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_ACPI is not setCONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not setCONFIG_HW_RANDOM=yCONFIG_NVRAM=yCONFIG_RTC=yCONFIG_RTC_HISTOGRAM=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not setCONFIG_SONYPI=m
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not setCONFIG_AGP=mCONFIG_AGP_ALI=mCONFIG_AGP_ATI=mCONFIG_AGP_AMD=mCONFIG_AGP_AMD64=mCONFIG_AGP_INTEL=m
# CONFIG_AGP_INTEL_MCH is not setCONFIG_AGP_NVIDIA=mCONFIG_AGP_SIS=mCONFIG_AGP_SWORKS=mCONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not setCONFIG_DRM=yCONFIG_DRM_TDFX=mCONFIG_DRM_R128=mCONFIG_DRM_RADEON=mCONFIG_DRM_I810=m
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not setCONFIG_DRM_MGA=mCONFIG_DRM_SIS=m
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#CONFIG_FB=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not setCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not setCONFIG_DUMMY_CONSOLE=yCONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
#
# Logo configuration
#CONFIG_LOGO=yCONFIG_LOGO_LINUX_MONO=yCONFIG_LOGO_LINUX_VGA16=yCONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
#CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#CONFIG_SND=mCONFIG_SND_TIMER=mCONFIG_SND_PCM=mCONFIG_SND_HWDEP=mCONFIG_SND_RAWMIDI=mCONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not setCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=mCONFIG_SND_PCM_OSS=mCONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#CONFIG_SND_MPU401_UART=mCONFIG_SND_OPL3_LIB=m
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ISA devices
#
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#CONFIG_SND_AC97_CODEC=mCONFIG_SND_ALI5451=m
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not setCONFIG_SND_AZT3328=m
# CONFIG_SND_BT87X is not setCONFIG_SND_CS46XX=m
# CONFIG_SND_CS46XX_NEW_DSP is not setCONFIG_SND_CS4281=mCONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not setCONFIG_SND_NM256=m
# CONFIG_SND_RME32 is not setCONFIG_SND_RME96=m
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not setCONFIG_SND_TRIDENT=mCONFIG_SND_YMFPCI=mCONFIG_SND_ALS4000=mCONFIG_SND_CMIPCI=mCONFIG_SND_ENS1370=mCONFIG_SND_ENS1371=m
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not setCONFIG_SND_ICE1712=mCONFIG_SND_ICE1724=mCONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not setCONFIG_SND_VIA82XX=m
# CONFIG_SND_VX222 is not set
#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_VXP440 is not set
# CONFIG_SND_PDAUDIOCF is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not setCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=y
#
# USB Host Controller Drivers
#CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not setCONFIG_USB_OHCI_HCD=mCONFIG_USB_UHCI_HCD=m
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not setCONFIG_USB_PRINTER=mCONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_RW_DETECT is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
#
# USB Input Devices
#CONFIG_USB_HID=mCONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not setCONFIG_USB_HIDDEV=y
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support #
#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set
#
# USB ATM/DSL drivers
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT3_FS=yCONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_FS_MBCACHE=yCONFIG_REISER4_FS=mCONFIG_REISER4_LARGE_KEY=y
# CONFIG_REISER4_CHECK is not setCONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not setCONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not setCONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not setCONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not setCONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not setCONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not setCONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not setCONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#CONFIG_NFS_FS=yCONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not setCONFIG_NFSD=yCONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not setCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=yCONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not setCONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not setCONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_POSIX is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not setCONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not setCONFIG_DEBUG_PREEMPT=yCONFIG_WAKEUP_TIMING=yCONFIG_PREEMPT_TRACE=y
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not setCONFIG_LATENCY_TIMING=y
# CONFIG_LATENCY_TRACE is not setCONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_USE_FRAME_POINTER is not setCONFIG_EARLY_PRINTK=y
# CONFIG_4KSTACKS is not setCONFIG_X86_FIND_SMP_CONFIG=yCONFIG_X86_MPPARSE=y
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
#
# Cryptographic options
#CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_MD4 is not setCONFIG_CRYPTO_MD5=mCONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not setCONFIG_CRYPTO_DES=mCONFIG_CRYPTO_BLOWFISH=mCONFIG_CRYPTO_TWOFISH=m
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not setCONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not setCONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
#CONFIG_CRC_CCITT=mCONFIG_CRC32=y
# CONFIG_LIBCRC32C is not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_X86_BIOS_REBOOT=yCONFIG_PC=y
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Ingo MolnarQuoted 8 lines · Ingo Molnar
i have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
I'm getting the following warning with V0.7.25-0
INSTALL sound/drivers/opl3/snd-opl3-lib.ko
INSTALL sound/drivers/opl3/snd-opl3-synth.ko
INSTALL sound/drivers/snd-dummy.ko
INSTALL sound/drivers/snd-mtpav.ko
INSTALL sound/drivers/snd-serial-u16550.ko
INSTALL sound/drivers/snd-virmidi.ko
INSTALL sound/pci/snd-sonicvibes.ko
if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3-RT-V0.7.25-0; fi
WARNING: /lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.ko needs unknown symbol rtc_close_event
WARNING: /lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.ko needs unknown symbol rtc_open_event [root@tigre01 im]#
.config file attached
Remi
#
# Automatically generated make config: don't edit # Linux kernel version: 2.6.10-rc1-mm3-RT-V0.7.25-0 # Thu Nov 11 19:53:49 2004
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not setCONFIG_BROKEN=yCONFIG_BROKEN_ON_SMP=yCONFIG_LOCK_KERNEL=y
#
# General setup
#CONFIG_LOCALVERSION=""CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_POSIX_MQUEUE=yCONFIG_BSD_PROCESS_ACCT=yCONFIG_BSD_PROCESS_ACCT_V3=yCONFIG_SYSCTL=yCONFIG_AUDIT=yCONFIG_AUDITSYSCALL=yCONFIG_LOG_BUF_SHIFT=15CONFIG_HOTPLUG=yCONFIG_KOBJECT_UEVENT=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not setCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_KALLSYMS_EXTRA_PASS=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_CPUSETS=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SHMEM=yCONFIG_CC_ALIGN_FUNCTIONS=0CONFIG_CC_ALIGN_LABELS=0CONFIG_CC_ALIGN_LOOPS=0CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=yCONFIG_MODULE_FORCE_UNLOAD=yCONFIG_OBSOLETE_MODPARM=yCONFIG_MODVERSIONS=yCONFIG_MODULE_SRCVERSION_ALL=yCONFIG_KMOD=yCONFIG_STOP_MACHINE=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not setCONFIG_MPENTIUMIII=y
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not setCONFIG_X86_GENERIC=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_HPET_TIMER=yCONFIG_SMP=yCONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not setCONFIG_PREEMPT_RT=yCONFIG_PREEMPT=yCONFIG_PREEMPT_SOFTIRQS=yCONFIG_PREEMPT_HARDIRQS=yCONFIG_PREEMPT_BKL=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=yCONFIG_X86_TSC=yCONFIG_X86_MCE=yCONFIG_X86_MCE_NONFATAL=yCONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not setCONFIG_MICROCODE=mCONFIG_X86_MSR=mCONFIG_X86_CPUID=m
#
# Firmware Drivers
#
# CONFIG_EDD is not setCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=y
# CONFIG_EFI is not setCONFIG_IRQBALANCE=yCONFIG_HAVE_DEC_LOCK=y
#
# Performance-monitoring counters support
#CONFIG_PERFCTR=yCONFIG_PERFCTR_INIT_TESTS=yCONFIG_PERFCTR_VIRTUAL=yCONFIG_PERFCTR_INTERRUPT_SUPPORT=yCONFIG_PERFCTR_CPUS_FORBIDDEN_MASK=yCONFIG_KERN_PHYS_OFFSET=1
# CONFIG_KEXEC is not set
#
# Power management options (ACPI, APM)
#CONFIG_PM=yCONFIG_PM_DEBUG=yCONFIG_SOFTWARE_SUSPEND=yCONFIG_PM_STD_PARTITION=""
#
# ACPI (Advanced Configuration and Power Interface) Support #CONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_SLEEP_PROC_FS=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_VIDEO is not setCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_HOTPLUG_CPU is not set CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set CONFIG_ACPI_THINKPAD=mCONFIG_ACPI_IBM=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ACPI_BLACKLIST_YEAR=0CONFIG_ACPI_DEBUG=yCONFIG_ACPI_BUS=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=yCONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_PROC_INTF=m
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=m CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_24_API=y CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_TABLE=y
#
# CPUFreq processor drivers
#CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not setCONFIG_X86_SPEEDSTEP_CENTRINO=mCONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=yCONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=yCONFIG_X86_SPEEDSTEP_ICH=mCONFIG_X86_SPEEDSTEP_SMI=mCONFIG_X86_P4_CLOCKMOD=mCONFIG_X86_CPUFREQ_NFORCE2=m
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
#
# shared options # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y CONFIG_X86_SPEEDSTEP_LIB=m CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_MSI=yCONFIG_PCI_LEGACY_PROC=yCONFIG_PCI_NAMES=yCONFIG_ISA=yCONFIG_EISA=yCONFIG_EISA_VLB_PRIMING=yCONFIG_EISA_PCI_EISA=yCONFIG_EISA_VIRTUAL_ROOT=yCONFIG_EISA_NAMES=yCONFIG_MCA=yCONFIG_MCA_LEGACY=yCONFIG_MCA_PROC_FS=y
CONFIG_SCx200=mCONFIG_HOTPLUG_CPU=y
#
# PCCARD (PCMCIA/CardBus) support
#CONFIG_PCCARD=mCONFIG_PCMCIA_DEBUG=yCONFIG_PCMCIA_OBSOLETE=yCONFIG_PCMCIA=mCONFIG_CARDBUS=y
#
# PC-card bridges
#CONFIG_YENTA=m
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not setCONFIG_PCMCIA_PROBE=y
#
# PCI Hotplug Support
#CONFIG_HOTPLUG_PCI=mCONFIG_HOTPLUG_PCI_FAKE=m
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_IBM is not setCONFIG_HOTPLUG_PCI_ACPI=m
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not setCONFIG_HOTPLUG_PCI_PCIE=mCONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE=y
# CONFIG_HOTPLUG_PCI_SHPC is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=yCONFIG_BINFMT_MISC=y
#
# Device Drivers
#
#
# Generic Driver Options
#
# CONFIG_STANDALONE is not setCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=mCONFIG_DEBUG_DRIVER=y
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#CONFIG_PARPORT=yCONFIG_PARPORT_PC=yCONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_PC_PCMCIA is not set
# CONFIG_PARPORT_OTHER is not set
# CONFIG_PARPORT_1284 is not set
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_PS2 is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not setCONFIG_BLK_DEV_LOOP=mCONFIG_BLK_DEV_CRYPTOLOOP=mCONFIG_BLK_DEV_NBD=mCONFIG_BLK_DEV_SX8=mCONFIG_BLK_DEV_UB=mCONFIG_BLK_DEV_RAM=mCONFIG_BLK_DEV_RAM_SIZE=4096CONFIG_INITRAMFS_SOURCE=""CONFIG_LBD=yCONFIG_CDROM_PKTCDVD=mCONFIG_CDROM_PKTCDVD_BUFFERS=8CONFIG_CDROM_PKTCDVD_WCACHE=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=yCONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #CONFIG_BLK_DEV_IDE_SATA=y
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=yCONFIG_BLK_DEV_IDECS=mCONFIG_BLK_DEV_IDECD=mCONFIG_BLK_DEV_IDETAPE=mCONFIG_BLK_DEV_IDEFLOPPY=mCONFIG_BLK_DEV_IDESCSI=mCONFIG_IDE_TASK_IOCTL=y
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=m
# CONFIG_BLK_DEV_CMD640 is not setCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not setCONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not setCONFIG_BLK_DEV_IDEDMA_PCI=yCONFIG_BLK_DEV_IDEDMA_FORCED=yCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not setCONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not setCONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not setCONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#CONFIG_SCSI=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not setCONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #CONFIG_SCSI_MULTI_LUN=yCONFIG_SCSI_CONSTANTS=yCONFIG_SCSI_LOGGING=y
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not setCONFIG_SCSI_FC_ATTRS=m
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not setCONFIG_SCSI_SATA=yCONFIG_SCSI_SATA_AHCI=m
# CONFIG_SCSI_SATA_SVW is not setCONFIG_SCSI_ATA_PIIX=y
# CONFIG_SCSI_SATA_NV is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
# CONFIG_SCSI_SATA_SIL is not set
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_FD_MCS is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IBMMCA is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR_D700 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_NCR_Q720 is not set
# CONFIG_SCSI_MCA_53C9X is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGIC_1280_1040 is not setCONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not setCONFIG_SCSI_DEBUG=m
#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=yCONFIG_NETLINK_DEV=mCONFIG_UNIX=yCONFIG_NET_KEY=mCONFIG_INET=yCONFIG_IP_MULTICAST=yCONFIG_IP_ADVANCED_ROUTER=yCONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_FWMARK=yCONFIG_IP_ROUTE_MULTIPATH=yCONFIG_IP_ROUTE_VERBOSE=yCONFIG_IP_PNP=yCONFIG_IP_PNP_DHCP=yCONFIG_IP_PNP_BOOTP=yCONFIG_IP_PNP_RARP=yCONFIG_NET_IPIP=mCONFIG_NET_IPGRE=mCONFIG_NET_IPGRE_BROADCAST=yCONFIG_IP_MROUTE=yCONFIG_IP_PIMSM_V1=yCONFIG_IP_PIMSM_V2=yCONFIG_ARPD=yCONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not setCONFIG_INET_TUNNEL=m
# CONFIG_IP_TCPDIAG is not set
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not setCONFIG_IPV6=mCONFIG_IPV6_PRIVACY=yCONFIG_INET6_AH=mCONFIG_INET6_ESP=mCONFIG_INET6_IPCOMP=mCONFIG_INET6_TUNNEL=mCONFIG_IPV6_TUNNEL=mCONFIG_NETFILTER=yCONFIG_NETFILTER_DEBUG=y
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=mCONFIG_IP_NF_CT_ACCT=y
# CONFIG_IP_NF_CONNTRACK_MARK is not setCONFIG_IP_NF_CT_PROTO_SCTP=mCONFIG_IP_NF_FTP=mCONFIG_IP_NF_IRC=mCONFIG_IP_NF_TFTP=mCONFIG_IP_NF_AMANDA=mCONFIG_IP_NF_QUEUE=mCONFIG_IP_NF_IPTABLES=mCONFIG_IP_NF_MATCH_LIMIT=mCONFIG_IP_NF_MATCH_IPRANGE=mCONFIG_IP_NF_MATCH_MAC=m
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
# CONFIG_IP_NF_MATCH_MARK is not set
# CONFIG_IP_NF_MATCH_MULTIPORT is not set
# CONFIG_IP_NF_MATCH_TOS is not set
# CONFIG_IP_NF_MATCH_RECENT is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_DSCP is not set
# CONFIG_IP_NF_MATCH_AH_ESP is not set
# CONFIG_IP_NF_MATCH_LENGTH is not set
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_MATCH_TCPMSS is not set
# CONFIG_IP_NF_MATCH_HELPER is not set
# CONFIG_IP_NF_MATCH_STATE is not set
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
# CONFIG_IP_NF_MATCH_OWNER is not set
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not setCONFIG_IP_NF_FILTER=mCONFIG_IP_NF_TARGET_REJECT=mCONFIG_IP_NF_TARGET_LOG=m
# CONFIG_IP_NF_TARGET_ULOG is not set
# CONFIG_IP_NF_TARGET_TCPMSS is not set
# CONFIG_IP_NF_NAT is not set
# CONFIG_IP_NF_MANGLE is not set
# CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
#
# IPv6: Netfilter Configuration
#CONFIG_IP6_NF_QUEUE=mCONFIG_IP6_NF_IPTABLES=mCONFIG_IP6_NF_MATCH_LIMIT=mCONFIG_IP6_NF_MATCH_MAC=mCONFIG_IP6_NF_MATCH_RT=m
# CONFIG_IP6_NF_MATCH_OPTS is not set
# CONFIG_IP6_NF_MATCH_FRAG is not set
# CONFIG_IP6_NF_MATCH_HL is not set
# CONFIG_IP6_NF_MATCH_MULTIPORT is not set
# CONFIG_IP6_NF_MATCH_OWNER is not set
# CONFIG_IP6_NF_MATCH_MARK is not set
# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
# CONFIG_IP6_NF_MATCH_AHESP is not set
# CONFIG_IP6_NF_MATCH_LENGTH is not set
# CONFIG_IP6_NF_MATCH_EUI64 is not setCONFIG_IP6_NF_FILTER=mCONFIG_IP6_NF_TARGET_LOG=m
# CONFIG_IP6_NF_MANGLE is not set
# CONFIG_IP6_NF_RAW is not setCONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not setCONFIG_ATM=mCONFIG_ATM_CLIP=mCONFIG_ATM_CLIP_NO_ICMP=yCONFIG_ATM_LANE=mCONFIG_ATM_MPOA=mCONFIG_ATM_BR2684=mCONFIG_ATM_BR2684_IPFILTER=y
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not setCONFIG_LLC=mCONFIG_LLC2=m
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set
#
# Network testing
#CONFIG_NET_PKTGEN=m
# CONFIG_KGDBOE is not setCONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not setCONFIG_NETDEVICES=yCONFIG_DUMMY=mCONFIG_BONDING=m
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not setCONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not setCONFIG_EL3=m
# CONFIG_3C515 is not set
# CONFIG_ELMC is not set
# CONFIG_ELMC_II is not set
# CONFIG_VORTEX is not set
# CONFIG_TYPHOON is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_SKMC is not set
# CONFIG_NE2_MCA is not set
# CONFIG_IBMLANA is not setCONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not setCONFIG_EEPRO100=mCONFIG_E100=m
# CONFIG_E100_NAPI is not set
# CONFIG_LNE390 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#CONFIG_NET_RADIO=y
#
# Obsolete Wireless cards support (pre-802.11)
#
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set
# CONFIG_PCMCIA_WAVELAN is not set
# CONFIG_PCMCIA_NETWAVE is not set
#
# Wireless 802.11 Frequency Hopping cards support
#
# CONFIG_PCMCIA_RAYCS is not set
#
# Wireless 802.11b ISA/PCI cards support
#
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
#
# Wireless 802.11b Pcmcia/Cardbus cards support
#
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set
#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support #
# CONFIG_PRISM54 is not set CONFIG_NET_WIRELESS=y
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# ATM drivers
#CONFIG_ATM_TCP=m
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E_MAYBE is not set
# CONFIG_ATM_HE is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not setCONFIG_PPP=mCONFIG_PPP_MULTILINK=yCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_PPP_DEFLATE=mCONFIG_PPP_BSDCOMP=mCONFIG_PPPOE=mCONFIG_PPPOATM=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not setCONFIG_NETCONSOLE=y
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not setCONFIG_INPUT_EVDEV=mCONFIG_INPUT_EVBUG=m
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not setCONFIG_SOUND_GAMEPORT=yCONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_CT82C710 is not setCONFIG_SERIO_PARKBD=mCONFIG_SERIO_PCIPS2=mCONFIG_SERIO_LIBPS2=yCONFIG_SERIO_RAW=m
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not setCONFIG_KEYBOARD_XTKBD=mCONFIG_KEYBOARD_NEWTON=mCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=yCONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_DIGI is not set
# CONFIG_ESPSERIAL is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not setCONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_CS is not setCONFIG_SERIAL_8250_ACPI=yCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_EXTENDED=yCONFIG_SERIAL_8250_MANY_PORTS=yCONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_PRINTER=yCONFIG_LP_CONSOLE=yCONFIG_PPDEV=m
# CONFIG_TIPAR is not set
#
# IPMI
#CONFIG_IPMI_HANDLER=mCONFIG_IPMI_PANIC_EVENT=yCONFIG_IPMI_PANIC_STRING=yCONFIG_IPMI_DEVICE_INTERFACE=mCONFIG_IPMI_SI=mCONFIG_IPMI_WATCHDOG=mCONFIG_IPMI_POWEROFF=m
#
# Watchdog Cards
#CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I8XX_TCO is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set
#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_WDT is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not setCONFIG_HW_RANDOM=mCONFIG_NVRAM=mCONFIG_RTC=mCONFIG_RTC_HISTOGRAM=mCONFIG_GEN_RTC=mCONFIG_GEN_RTC_X=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not setCONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not setCONFIG_AGP_INTEL=y
# CONFIG_AGP_INTEL_MCH is not setCONFIG_AGP_NVIDIA=m
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not setCONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not setCONFIG_DRM_I810=mCONFIG_DRM_I830=m
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_MWAVE is not set
# CONFIG_SCx200_GPIO is not setCONFIG_RAW_DRIVER=mCONFIG_HPET=yCONFIG_HPET_RTC_IRQ=yCONFIG_HPET_MMAP=yCONFIG_MAX_RAW_DEVS=256CONFIG_HANGCHECK_TIMER=m
#
# I2C support
#CONFIG_I2C=mCONFIG_I2C_CHARDEV=m
#
# I2C Algorithms
#CONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not setCONFIG_I2C_I801=mCONFIG_I2C_I810=m
# CONFIG_I2C_ISA is not setCONFIG_I2C_NFORCE2=m
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not setCONFIG_I2C_PIIX4=mCONFIG_I2C_PROSAVAGE=mCONFIG_I2C_SAVAGE4=m
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Hardware Sensors Chip support
#CONFIG_I2C_SENSOR=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not setCONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
#
# Other I2C Chip support
#
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not setCONFIG_I2C_DEBUG_CORE=yCONFIG_I2C_DEBUG_ALGO=yCONFIG_I2C_DEBUG_BUS=yCONFIG_I2C_DEBUG_CHIP=y
#
# Dallas's 1-wire bus
#CONFIG_W1=m
# CONFIG_W1_MATROX is not set
# CONFIG_W1_DS9490 is not setCONFIG_W1_THERM=m
# CONFIG_W1_SMEM is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia devices
#CONFIG_VIDEO_DEV=m
#
# Video For Linux
#
#
# Video Adapters
#
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_ZR36120 is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_OVCAMCHIP is not set
#
# Radio Adapters
#
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not set
# CONFIG_RADIO_GEMTEK is not set
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
# CONFIG_RADIO_SF16FMI is not set
# CONFIG_RADIO_SF16FMR2 is not set
# CONFIG_RADIO_TERRATEC is not set
# CONFIG_RADIO_TRUST is not set
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#CONFIG_FB=yCONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not setCONFIG_FB_VGA16=mCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not setCONFIG_FB_I810=mCONFIG_FB_I810_GTF=y
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not setCONFIG_FB_SAVAGE=mCONFIG_FB_SAVAGE_I2C=mCONFIG_FB_SAVAGE_ACCEL=m
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_MDA_CONSOLE=mCONFIG_DUMMY_CONSOLE=yCONFIG_FRAMEBUFFER_CONSOLE=mCONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_SUN8x16=y
# CONFIG_FONT_SUN12x22 is not set
#
# Logo configuration
#CONFIG_LOGO=yCONFIG_LOGO_LINUX_MONO=y
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
#
# Sound
#CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#CONFIG_SND=yCONFIG_SND_TIMER=yCONFIG_SND_PCM=yCONFIG_SND_HWDEP=mCONFIG_SND_RAWMIDI=mCONFIG_SND_SEQUENCER=yCONFIG_SND_SEQ_DUMMY=mCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=yCONFIG_SND_PCM_OSS=yCONFIG_SND_SEQUENCER_OSS=yCONFIG_SND_RTCTIMER=mCONFIG_SND_VERBOSE_PRINTK=yCONFIG_SND_DEBUG=yCONFIG_SND_DEBUG_MEMORY=yCONFIG_SND_DEBUG_DETECT=y
#
# Generic devices
#CONFIG_SND_MPU401_UART=mCONFIG_SND_OPL3_LIB=mCONFIG_SND_DUMMY=mCONFIG_SND_VIRMIDI=mCONFIG_SND_MTPAV=mCONFIG_SND_SERIAL_U16550=mCONFIG_SND_MPU401=m
#
# ISA devices
#
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not setCONFIG_SND_INTEL8X0=y
# CONFIG_SND_INTEL8X0M is not setCONFIG_SND_SONICVIBES=m
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set
#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_VXP440 is not set
# CONFIG_SND_PDAUDIOCF is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB=yCONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=yCONFIG_USB_BANDWIDTH=yCONFIG_USB_DYNAMIC_MINORS=yCONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not setCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=y
#
# USB Host Controller Drivers
#CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not setCONFIG_USB_OHCI_HCD=mCONFIG_USB_UHCI_HCD=m
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_STORAGE is not set
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_STV680 is not set
#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
#
# USB Serial Converter support
#CONFIG_USB_SERIAL=mCONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set
#
# USB ATM/DSL drivers
#
# CONFIG_USB_ATM is not set
# CONFIG_USB_SPEEDTOUCH is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#CONFIG_EXT2_FS=yCONFIG_EXT2_FS_XATTR=yCONFIG_EXT2_FS_POSIX_ACL=yCONFIG_EXT2_FS_SECURITY=yCONFIG_EXT3_FS=yCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_EXT3_FS_SECURITY=yCONFIG_JBD=yCONFIG_JBD_DEBUG=yCONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not setCONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not setCONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=mCONFIG_QUOTACTL=yCONFIG_DNOTIFY=yCONFIG_AUTOFS_FS=mCONFIG_AUTOFS4_FS=y
#
# Caches
#CONFIG_FSCACHE=mCONFIG_CACHEFS=m
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=yCONFIG_MSDOS_FS=yCONFIG_VFAT_FS=yCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not setCONFIG_DEVPTS_FS_XATTR=yCONFIG_DEVPTS_FS_SECURITY=yCONFIG_TMPFS=yCONFIG_TMPFS_XATTR=yCONFIG_TMPFS_SECURITY=yCONFIG_HUGETLBFS=yCONFIG_HUGETLB_PAGE=yCONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#CONFIG_NFS_FS=yCONFIG_NFS_V3=yCONFIG_NFS_V4=yCONFIG_NFS_DIRECTIO=yCONFIG_NFSD=yCONFIG_NFSD_V3=yCONFIG_NFSD_V4=yCONFIG_NFSD_TCP=y
# CONFIG_ROOT_NFS is not setCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=yCONFIG_SUNRPC=yCONFIG_SUNRPC_GSS=yCONFIG_RPCSEC_GSS_KRB5=yCONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not setCONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not setCONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not setCONFIG_NLS_UTF8=y
#
# Profiling support
#CONFIG_PROFILING=yCONFIG_OPROFILE=m
#
# Kernel hacking
#CONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=yCONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_SLAB is not setCONFIG_DEBUG_PREEMPT=yCONFIG_WAKEUP_TIMING=yCONFIG_PREEMPT_TRACE=yCONFIG_CRITICAL_PREEMPT_TIMING=yCONFIG_CRITICAL_IRQSOFF_TIMING=yCONFIG_CRITICAL_TIMING=yCONFIG_LATENCY_TIMING=yCONFIG_LATENCY_TRACE=yCONFIG_MCOUNT=yCONFIG_RT_DEADLOCK_DETECT=yCONFIG_DEBUG_KOBJECT=yCONFIG_DEBUG_INFO=yCONFIG_FRAME_POINTER=yCONFIG_EARLY_PRINTK=yCONFIG_DEBUG_STACKOVERFLOW=yCONFIG_KPROBES=yCONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_PAGEALLOC is not setCONFIG_4KSTACKS=yCONFIG_X86_FIND_SMP_CONFIG=yCONFIG_X86_MPPARSE=y
#
# Security options
#CONFIG_KEYS=yCONFIG_KEYS_DEBUG_PROC_KEYS=yCONFIG_SECURITY=yCONFIG_SECURITY_NETWORK=yCONFIG_SECURITY_CAPABILITIES=mCONFIG_SECURITY_ROOTPLUG=m
# CONFIG_SECURITY_SECLVL is not setCONFIG_SECURITY_SELINUX=yCONFIG_SECURITY_SELINUX_BOOTPARAM=yCONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1CONFIG_SECURITY_SELINUX_DISABLE=yCONFIG_SECURITY_SELINUX_DEVELOP=yCONFIG_SECURITY_SELINUX_MLS=y
#
# Cryptographic options
#CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_MD4=yCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_SHA1=yCONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not setCONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not setCONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_MICHAEL_MIC is not setCONFIG_CRYPTO_CRC32C=yCONFIG_CRYPTO_TEST=m
#
# Library routines
#CONFIG_CRC_CCITT=mCONFIG_CRC32=yCONFIG_LIBCRC32C=yCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_X86_SMP=yCONFIG_X86_HT=yCONFIG_X86_BIOS_REBOOT=yCONFIG_X86_TRAMPOLINE=yCONFIG_PC=y
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
Quoted 26 lines · Remi Colinet
Quoted 8 lines · Ingo Molnar
i have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
I'm getting the following warning with V0.7.25-0
INSTALL
sound/drivers/opl3/snd-opl3-lib.ko
INSTALLsound/drivers/opl3/snd-opl3-synth.ko
INSTALLsound/drivers/snd-dummy.ko
INSTALLsound/drivers/snd-mtpav.ko
INSTALLsound/drivers/snd-serial-u16550.ko
INSTALLsound/drivers/snd-virmidi.ko
INSTALLsound/pci/snd-sonicvibes.ko
if [ -r System.map ]; then/sbin/depmod-ae -F System.map 2.6.10-rc1-mm3-RT-V0.7.25-0; fi
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_close_event
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_open_event[root@tigre01 im]#
Quoted 4 lines
.config file attached
Remi
Does the patch below fix this?
kr
drivers/char/rtc.c 2004-11-11 12:07:54.019642611 -0600 renamed from drivers/char/rtc.c.orig 2004-11-11 11:35:00.898841565 -0600 +4 -0
@@ -863,7 +863,9 @@ if(rtc_status & RTC_IS_OPEN) goto out_busy; +#ifdef RTC_IRQ rtc_open_event(); +#endif rtc_status |= RTC_IS_OPEN; rtc_irq_data = 0;
@@ -920,7 +922,9 @@ rtc_irq_data = 0; rtc_status &= ~RTC_IS_OPEN; spin_unlock_irq (&rtc_lock); +#ifdef RTC_IRQ rtc_close_event(); +#endif return 0; }
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Remi ColinetQuoted 26 lines · Remi Colinet
Quoted 8 lines · Ingo Molnar
i have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
I'm getting the following warning with V0.7.25-0
INSTALL
sound/drivers/opl3/snd-opl3-lib.ko
INSTALLsound/drivers/opl3/snd-opl3-synth.ko
INSTALLsound/drivers/snd-dummy.ko
INSTALLsound/drivers/snd-mtpav.ko
INSTALLsound/drivers/snd-serial-u16550.ko
INSTALLsound/drivers/snd-virmidi.ko
INSTALLsound/pci/snd-sonicvibes.ko
if [ -r System.map ]; then/sbin/depmod-ae -F System.map 2.6.10-rc1-mm3-RT-V0.7.25-0; fi
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_close_event
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_open_event[root@tigre01 im]#
Quoted 4 lines
.config file attached
Remi
Damn. Here is the patch again. Last one was hosed by wrap. Sorry.
kr
drivers/char/rtc.c renamed from drivers/char/rtc.c.orig +4 -0
@@ -863,7 +863,9 @@if (rtc_status &RTC_IS_OPEN ) goto out_busy; +#ifdef RTC_IRQ rtc_open_event (); +#endif rtc_status |=RTC_IS_OPEN ; rtc_irq_data =0 ;
@@ -920,7 +922,9 @@ rtc_irq_data =0 ; rtc_status &= ~RTC_IS_OPEN ;spin_unlock_irq (&rtc_lock); +#ifdef RTC_IRQ rtc_close_event (); +#endif return 0 ; }
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
drivers/char/rtc.c
Quoted 7 lines · K.R. Foley
drivers/char/rtc.c renamed from drivers/char/rtc.c.orig +4
-0+#ifdef RTC_IRQ rtc_open_event (); +#endif +#ifdef RTC_IRQ rtc_close_event (); +#endif
indeed. I fixed it a bit differently in my tree, will upload a new patch soon.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to K.R. FoleyQuoted 25 lines · K.R. Foley
Quoted 23 lines · Remi Colinet
Quoted 5 lines · Ingo Molnar
i have released the -V0.7.25-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
I'm getting the following warning with V0.7.25-0
INSTALL
sound/drivers/opl3/snd-opl3-lib.ko
INSTALLsound/drivers/opl3/snd-opl3-synth.ko
INSTALLsound/drivers/snd-dummy.ko
INSTALLsound/drivers/snd-mtpav.ko
INSTALLsound/drivers/snd-serial-u16550.ko
INSTALLsound/drivers/snd-virmidi.ko
INSTALLsound/pci/snd-sonicvibes.ko
if [ -r System.map ]; then/sbin/depmod-ae -F System.map 2.6.10-rc1-mm3-RT-V0.7.25-0; fi
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_close_event
WARNING:/lib/modules/2.6.10-rc1-mm3-RT-V0.7.25-0/kernel/drivers/char/rtc.koneeds unknown symbolrtc_open_event[root@tigre01 im]#
Quoted 8 lines
Quoted 3 lines
.config file attached
Remi
Damn. Here is the patch again. Last one was hosed by wrap. Sorry.
kr
Solved with V0.7.25-1
Thanks
Remi
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
In reply to Ingo Molnarfound the bug that i think caused the freezes and deadlocks reported by Mark and Gunther. Here's the announcement of a debug feature:
Quoted 5 lines
- debugging helper: the
/proc/sys/kernel/debug_direct_keyboardflag (default: 0) will hack the keyboard IRQ into being direct. NOTE: the keyboard in this mode should only be used to access SysRq functionality that is not possible via the threaded keyboard handler. The direct keyboard IRQ can crash the system.
it turns out i accidentally left debug_direct_keyboard default-enabled ... no wonder it caused lockups!
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo Molnari have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes-only release that resolves a couple of bugs that slipped into -V0.7.25-0:
- lockup/deadlock fix: make debug_direct_keyboard default to 0. It is only a debug helper to be used for development, it was never intended to be enabled. This fix should resolve the bugs reported by Gunther Persoons and Mark H. Johnson.
- fix symbol export problems in rtc.ko, reported by Remi Colinet, based on the patch from K.R. Foley.
- make preempt_wakeup_timing default to 1 if enabled in the .config, as originally intended.
to create a -V0.7.25-1 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.25-1
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Patch to get rudimentary kgdb support working.
bill
arch/i386/Kconfig +11 -0
@@ -509,6 +509,17 @@ default y +config NOTE_LATENCY + bool "Note irq-thread wake latency" + depends on PREEMPT_HARDIRQS && HPET + default n + help + This options timestamp marks exception frame wake events to the + irq-thread in question and shoves it into a statistically scalable + histogram. Timestamp events can be "zoomed" in that are of interest + with compile time changes to the struct describing the ranges of + band(s) being saved. + config X86_UP_APIC bool "Local APIC support on uniprocessors" if !SMP depends on !(X86_VISWS || X86_VOYAGER)
arch/i386/Kconfig.kgdb +1 -1
@@ -1,6 +1,6 @@ config KGDB bool "Include kgdb kernel debugger" - depends on DEBUG_KERNEL && !KPROBES && !PREEMPT_RT + depends on DEBUG_KERNEL && !KPROBES help If you say Y here, the system will be compiled with the debug option (-g) and a debugging stub will be included in the
arch/i386/kernel/kgdb_stub.c +5 -5
@@ -365,8 +365,8 @@#ifdef CONFIG_SMP static int in_kgdb_called; -static spinlock_t waitlocks[MAX_NO_CPUS ] = - {[0 ...MAX_NO_CPUS -1 ] =SPIN_LOCK_UNLOCKED }; +static raw_spinlock_t waitlocks[MAX_NO_CPUS ] = + {[0 ...MAX_NO_CPUS -1 ] =RAW_SPIN_LOCK_UNLOCKED };/* * The following array has the thread pointer of each of the "other" * cpus. We make it global so it can be seen by gdb.
@@ -374,9 +374,9 @@volatile int in_kgdb_entry_log[MAX_NO_CPUS ];volatile struct pt_regs *in_kgdb_here_log[MAX_NO_CPUS ];/* -static spinlock_t continuelocks[MAX_NO_CPUS]; +static raw_spinlock_t continuelocks[MAX_NO_CPUS]; */ -spinlock_t kgdb_spinlock =SPIN_LOCK_UNLOCKED ; +raw_spinlock_t kgdb_spinlock =RAW_SPIN_LOCK_UNLOCKED ;/* waiters on our spinlock plus us */ static atomic_t spinlock_waiters =ATOMIC_INIT (1 );static int spinlock_count =0 ;
@@ -2404,7 +2404,7 @@void kgdb_tstamp (int line,char *source,int data0,int data1) { -static spinlock_t ts_spin =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t ts_spin =RAW_SPIN_LOCK_UNLOCKED ;int flags;kgdb_local_irq_save (flags);spin_lock (&ts_spin);
arch/i386/kernel/timers/timer_hpet.c +3 -1
@@ -49,7 +49,9 @@ cyc2ns_scale = (1000 <<CYC2NS_SCALE_FACTOR )/cpu_mhz; } -static inline unsigned long long cycles_2_ns (unsigned long long cyc) +//static inline +//#error +unsigned long long cycles_2_ns (unsigned long long cyc) {return (cyc * cyc2ns_scale) >>CYC2NS_SCALE_FACTOR ; }
arch/i386/lib/kgdb_serial.c +4 -4
@@ -104,9 +104,9 @@* but we will just depend on the uart status to help keep that straight. */ -static spinlock_t uart_interrupt_lock =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t uart_interrupt_lock =RAW_SPIN_LOCK_UNLOCKED ;#ifdef CONFIG_SMP -extern spinlock_t kgdb_spinlock; +extern raw_spinlock_t kgdb_spinlock;#endif static int
@@ -343,7 +343,7 @@*/ int kgdb_in_isr =0 ;int kgdb_in_lsr =0 ; -extern spinlock_t kgdb_spinlock; +extern raw_spinlock_t kgdb_spinlock;/* Caller takes needed protections */
@@ -381,7 +381,7 @@ }/* tty_getDebugChar */ static int count =3 ; -static spinlock_t one_at_atime =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t one_at_atime =RAW_SPIN_LOCK_UNLOCKED ;static int __init kgdb_enable_ints (void )
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 1 line · Bill Huey
Patch to get rudimentary kgdb support working.
Resent with some contamination removed from it.
bill
arch/i386/Kconfig.kgdb +1 -1
@@ -1,6 +1,6 @@ config KGDB bool "Include kgdb kernel debugger" - depends on DEBUG_KERNEL && !KPROBES && !PREEMPT_RT + depends on DEBUG_KERNEL && !KPROBES help If you say Y here, the system will be compiled with the debug option (-g) and a debugging stub will be included in the
arch/i386/kernel/kgdb_stub.c +5 -5
@@ -365,8 +365,8 @@#ifdef CONFIG_SMP static int in_kgdb_called; -static spinlock_t waitlocks[MAX_NO_CPUS ] = - {[0 ...MAX_NO_CPUS -1 ] =SPIN_LOCK_UNLOCKED }; +static raw_spinlock_t waitlocks[MAX_NO_CPUS ] = + {[0 ...MAX_NO_CPUS -1 ] =RAW_SPIN_LOCK_UNLOCKED };/* * The following array has the thread pointer of each of the "other" * cpus. We make it global so it can be seen by gdb.
@@ -374,9 +374,9 @@volatile int in_kgdb_entry_log[MAX_NO_CPUS ];volatile struct pt_regs *in_kgdb_here_log[MAX_NO_CPUS ];/* -static spinlock_t continuelocks[MAX_NO_CPUS]; +static raw_spinlock_t continuelocks[MAX_NO_CPUS]; */ -spinlock_t kgdb_spinlock =SPIN_LOCK_UNLOCKED ; +raw_spinlock_t kgdb_spinlock =RAW_SPIN_LOCK_UNLOCKED ;/* waiters on our spinlock plus us */ static atomic_t spinlock_waiters =ATOMIC_INIT (1 );static int spinlock_count =0 ;
@@ -2404,7 +2404,7 @@void kgdb_tstamp (int line,char *source,int data0,int data1) { -static spinlock_t ts_spin =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t ts_spin =RAW_SPIN_LOCK_UNLOCKED ;int flags;kgdb_local_irq_save (flags);spin_lock (&ts_spin);
arch/i386/kernel/timers/timer_hpet.c +3 -1
@@ -49,7 +49,9 @@ cyc2ns_scale = (1000 <<CYC2NS_SCALE_FACTOR )/cpu_mhz; } -static inline unsigned long long cycles_2_ns (unsigned long long cyc) +//static inline +//#error +unsigned long long cycles_2_ns (unsigned long long cyc) {return (cyc * cyc2ns_scale) >>CYC2NS_SCALE_FACTOR ; }
arch/i386/lib/kgdb_serial.c +4 -4
@@ -104,9 +104,9 @@* but we will just depend on the uart status to help keep that straight. */ -static spinlock_t uart_interrupt_lock =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t uart_interrupt_lock =RAW_SPIN_LOCK_UNLOCKED ;#ifdef CONFIG_SMP -extern spinlock_t kgdb_spinlock; +extern raw_spinlock_t kgdb_spinlock;#endif static int
@@ -343,7 +343,7 @@*/ int kgdb_in_isr =0 ;int kgdb_in_lsr =0 ; -extern spinlock_t kgdb_spinlock; +extern raw_spinlock_t kgdb_spinlock;/* Caller takes needed protections */
@@ -381,7 +381,7 @@ }/* tty_getDebugChar */ static int count =3 ; -static spinlock_t one_at_atime =SPIN_LOCK_UNLOCKED ; +static raw_spinlock_t one_at_atime =RAW_SPIN_LOCK_UNLOCKED ;static int __init kgdb_enable_ints (void )
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 1 line · Bill Huey
Quoted 1 line
Patch to get rudimentary kgdb support working.
thanks, the patch looks good. Is this one really needed:
arch/i386/kernel/timers/timer_hpet.c line 54
Quoted 4 lines
arch/i386/kernel/timers/timer_hpet.c +3
-1-static inline unsigned long long cycles_2_ns (unsigned long long cyc) +//static inline +//#error +unsigned long long cycles_2_ns (unsigned long long cyc)
?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 4 lines · Ingo Molnar
Quoted 1 line · Bill Huey
Quoted 1 line
Patch to get rudimentary kgdb support working.
thanks, the patch looks good. Is this one really needed:
No, it's not. It's for my timing stuff that's going to be release as soon as I figure out how to deal with the irq balancing code. (I'm still learning this as I go along)
I'm a newbie to releasing patches, so scold me when you feel it's appropriate. :)
bill
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 5 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 7 lines
this is a fixes-only release that resolves a couple of bugs that slipped into -V0.7.25-0:
- lockup/deadlock fix: make
debug_direct_keyboarddefault to 0. It is only a debug helper to be used for development, it was never intended to be enabled. This fix should resolve the bugs reported by Gunther Persoons and Mark H. Johnson.
Ahh, that probably explains the problems I had with it!
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
Regards,
Shane
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 18 lines · Shane Shrybman
Quoted 5 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 7 lines
this is a fixes-only release that resolves a couple of bugs that slipped into -V0.7.25-0:
- lockup/deadlock fix: make
debug_direct_keyboarddefault to 0. It is only a debug helper to be used for development, it was never intended to be enabled. This fix should resolve the bugs reported by Gunther Persoons and Mark H. Johnson.Ahh, that probably explains the problems I had with it!
Quoted 8 lines
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
Regards,
Shane
What sort of errors did you get about the ide dma timeouts?
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 23 lines · K.R. Foley
Quoted 22 lines · Shane Shrybman
Quoted 5 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 7 lines
this is a fixes-only release that resolves a couple of bugs that slipped into -V0.7.25-0:
- lockup/deadlock fix: make
debug_direct_keyboarddefault to 0. It is only a debug helper to be used for development, it was never intended to be enabled. This fix should resolve the bugs reported by Gunther Persoons and Mark H. Johnson.Ahh, that probably explains the problems I had with it!
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
Quoted 7 lines
Quoted 4 lines
Regards,
Shane
What sort of errors did you get about the ide dma timeouts?
Typical example of the error message:
kernel: hde: dma_timer_expiry: dma status == 0x24
kernel: ALSA sound/core/pcm_native.c:1424: playback drain error (DMA or IRQ trouble?)
kernel: PDC202XX: Primary channel reset.
kernel: hde: DMA interrupt recovery
kernel: hde: lost interrupt
This was on a Promise TX2 133 ide card with one IDE disk. The problem would show itself if using the RT patches and APIC. But the problem seems to have been resolved now.
Quoted 2 lines
kr
Regards,
Shane
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Shane ShrybmanQuoted 3 lines · Shane Shrybman
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
could you try the attached patch - does it trigger the DMA timeouts again? There were 3 changes to the IOAPIC code that could have affected your dma-timeout problem, this patch reverts all of them.
Mark's suggestion sounds quite plausible too - but the question is, your timeout problems went away previously by tweaking io_apic.c, so it would be nice to see that they are still gone even with the old 'broken' io_apic.c logic. (none of the io_apic.c changes fixes any particular bug, they are only latency optimizations, so i'd be surprised if they really impacted your timeout problems.)
if the DMA timeouts are still gone even with this patch applied then i think it's safe to conclude that Mark's explanation is the correct one, and that it was starvation of the SCHED_OTHER IDE irq-thread that caused the timeouts: it _really_ was a timeout. (a workaround would be to make the timeout longer)
Ingo
arch/i386/kernel/io_apic.c renamed from arch/i386/kernel/io_apic.c.orig2 +3 -3
@@ -150,7 +150,7 @@ static void update_io_apic_cache(unsigne } } -#define IOAPIC_CACHE +// #define IOAPIC_CACHE /* * Some systems need a POST flush or else level-triggered interrupts * generate lots of spurious interrupts due to the POST-ed write not
@@ -188,7 +188,7 @@ static void __modify_IO_APIC_irq (unsign/* * Force POST flush by reading: */ - reg = *(IO_APIC_BASE (entry->apic)+4 ); + reg =io_apic_read (entry->apic,0x10 + pin*2 );#endif if (!entry->next)break ;
@@ -1940,7 +1940,7 @@ static unsigned int startup_level_ioapic* unacked local APIC is dangerous on SMP as it can prevent the * delivery of IPIs and can thus cause deadlocks.) */ -#if defined(CONFIG_PREEMPT_HARDIRQS ) && defined(CONFIG_SMP ) +#if defined(CONFIG_PREEMPT_HARDIRQS )static void mask_and_ack_level_ioapic_irq (unsigned int irq) {
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 10 lines · Ingo Molnar
Quoted 3 lines · Shane Shrybman
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
could you try the attached patch - does it trigger the DMA timeouts again? There were 3 changes to the IOAPIC code that could have affected your dma-timeout problem, this patch reverts all of them.
Yes it does trigger the DMA timeouts again. Just the addition of CONFIG_SMP dep is enough to trigger it. Which isn't surprising since the hack was to put #if 0 there wasn't it?
Quoted 37 lines
Mark's suggestion sounds quite plausible too - but the question is, your timeout problems went away previously by tweaking
io_apic.c, so it would be nice to see that they are still gone even with the old 'broken'io_apic.clogic. (none of theio_apic.cchanges fixes any particular bug, they are only latency optimizations, so i'd be surprised if they really impacted your timeout problems.)if the DMA timeouts are still gone even with this patch applied then i think it's safe to conclude that Mark's explanation is the correct one, and that it was starvation of the
SCHED_OTHERIDE irq-thread that caused the timeouts: it _really_ was a timeout. (a workaround would be to make the timeout longer)Ingo
arch/i386/kernel/io_apic.c renamed from arch/i386/kernel/io_apic.c.orig2 +2
-2@@ -150,7 +150,7 @@ static void update_io_apic_cache(unsigne } } -#define IOAPIC_CACHE +// #define IOAPIC_CACHE /* * Some systems need a POST flush or else level-triggered interrupts * generate lots of spurious interrupts due to the POST-ed write not @@ -188,7 +188,7 @@ static void __modify_IO_APIC_irq (unsign/* * Force POST flush by reading: */ - reg = *(IO_APIC_BASE (entry->apic)+4 ); + reg =io_apic_read (entry->apic,0x10 + pin*2 );#endif if (!entry->next)break ;
arch/i386/kernel/io_apic.c static unsigned int startup_level_ioapic · line 1946
Quoted 8 lines
arch/i386/kernel/io_apic.c renamed from arch/i386/kernel/io_apic.c.orig2 +1
-1@@ -1940,7 +1940,7 @@ static unsigned int startup_level_ioapic* unacked local APIC is dangerous on SMP as it can prevent the * delivery of IPIs and can thus cause deadlocks.) */ -#if defined(CONFIG_PREEMPT_HARDIRQS ) && defined(CONFIG_SMP ) +#if defined(CONFIG_PREEMPT_HARDIRQS )static void mask_and_ack_level_ioapic_irq (unsigned int irq) {
shane
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 10 lines · Ingo Molnar
Quoted 3 lines · Shane Shrybman
V0.7.25-1 has been stable here with the ivtv driver for 11 hrs. No sign of the ide dma time out issue either. Out of curiosity, do we know what solved that problem?
could you try the attached patch - does it trigger the DMA timeouts again? There were 3 changes to the IOAPIC code that could have affected your dma-timeout problem, this patch reverts all of them.
Ok, V0.7.25-1 seems to have resolved the DMA timeout problem.
I don't know how useful it is but this patch also seems to have resolved that problem.
arch/i386/kernel/io_apic.c +2 -2
@@ -156,7 +156,7 @@* generate lots of spurious interrupts due to the POST-ed write not * reaching the IOAPIC before the IRQ is ACK-ed in the local APIC. */ -#define IOAPIC_POSTFLUSH +//#define IOAPIC_POSTFLUSH static void __modify_IO_APIC_irq (unsigned int irq,unsigned long enable,unsigned long disable) {
@@ -1940,7 +1940,7 @@* unacked local APIC is dangerous on SMP as it can prevent the * delivery of IPIs and can thus cause deadlocks.) */ -#if defined(CONFIG_PREEMPT_HARDIRQS ) && defined(CONFIG_SMP ) +#if defined(CONFIG_PREEMPT_HARDIRQS )static void mask_and_ack_level_ioapic_irq (unsigned int irq) {
Regards,
Shane
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
arch/i386/kernel/io_apic.c
Quoted 5 lines · Shane Shrybman
arch/i386/kernel/io_apic.c +2
-2-#define IOAPIC_POSTFLUSH +//#define IOAPIC_POSTFLUSH -#if defined(CONFIG_PREEMPT_HARDIRQS ) && defined(CONFIG_SMP ) +#if defined(CONFIG_PREEMPT_HARDIRQS )
unfortunately the POST-flush is still needed. Without it i can see lots of spurious interrupts on SMP systems. (most likely caused by the ACK reaching the IO-APIC _before_ the mask-the-irq PCI-space write [which gets delayed in the chipset due to write optimizations], so the IO-APIC still thinks that the IRQ is enabled and for level-triggered IRQs this means that another interrupt is sent to the CPU.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 19 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes-only release that resolves a couple of bugs that slipped into -V0.7.25-0:
- lockup/deadlock fix: make
debug_direct_keyboarddefault to 0. It is only a debug helper to be used for development, it was never intended to be enabled. This fix should resolve the bugs reported by Gunther Persoons and Mark H. Johnson.- fix symbol export problems in rtc.ko, reported by Remi Colinet, based on the patch from K.R. Foley.
- make
preempt_wakeup_timingdefault to 1 if enabled in the .config, as originally intended.
Quoted 11 lines
to create a -V0.7.25-1 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.25-1Ingo
I cant use my pcmcia wireless network card with this version, i can use it with V0.7.25-0. dhcpcd and ifconfig lock when i try to use them. config attached.
#
# Automatically generated make config: don't edit
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_STANDALONE=yCONFIG_BROKEN_ON_SMP=y
#
# General setup
#CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not setCONFIG_SYSCTL=y
# CONFIG_AUDIT is not setCONFIG_LOG_BUF_SHIFT=14CONFIG_HOTPLUG=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not setCONFIG_KALLSYMS=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=yCONFIG_MODULE_FORCE_UNLOAD=yCONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not setCONFIG_KMOD=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not setCONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not setCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
# CONFIG_HPET_EMULATE_RTC is not set
# CONFIG_SMP is not setCONFIG_PREEMPT=y
# CONFIG_X86_UP_APIC is not setCONFIG_X86_TSC=yCONFIG_X86_MCE=yCONFIG_X86_MCE_NONFATAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_SMBIOS is not setCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not setCONFIG_BADRAM=y
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=y
# CONFIG_EFI is not setCONFIG_HAVE_DEC_LOCK=yCONFIG_REGPARM=y
#
# Power management options (ACPI, APM)
#CONFIG_PM=yCONFIG_SOFTWARE_SUSPEND=y
# CONFIG_PM_DISK is not set
#
# ACPI (Advanced Configuration and Power Interface) Support #CONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_SLEEP_PROC_FS=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=yCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_BUS=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
# CONFIG_AMD76X_PM is not setCONFIG_ACPI_INITRD=y
#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not setCONFIG_HZ_1000=y
# CONFIG_HZ_512 is not set
# CONFIG_HZ_100 is not setCONFIG_HZ=1000
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_LEGACY_PROC=yCONFIG_PCI_NAMES=yCONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCMCIA/CardBus support
#CONFIG_PCMCIA=m
# CONFIG_PCMCIA_DEBUG is not setCONFIG_YENTA=mCONFIG_CARDBUS=y
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not setCONFIG_PCMCIA_PROBE=y
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=yCONFIG_BINFMT_MISC=y
#
# Device Drivers
#
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#CONFIG_PARPORT=yCONFIG_PARPORT_PC=yCONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_PC_PCMCIA is not set
# CONFIG_PARPORT_OTHER is not set
# CONFIG_PARPORT_1284 is not set
#
# Plug and Play support
#CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not setCONFIG_BLK_DEV_LOOP=yCONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not setCONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_SIZE=4096CONFIG_BLK_DEV_INITRD=yCONFIG_LBD=y
# CONFIG_CDROM_PKTCDVD is not set
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=yCONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDECS is not set CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set CONFIG_IDE_TASKFILE_IO=y
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=yCONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not setCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not setCONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not setCONFIG_BLK_DEV_RZ1000=yCONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not setCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not setCONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not setCONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not setCONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#CONFIG_SCSI=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not setCONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_MEGARAID is not setCONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_SVW is not setCONFIG_SCSI_ATA_PIIX=y
# CONFIG_SCSI_ATA_ITE is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
# CONFIG_SCSI_SATA_SIL is not set
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not setCONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#CONFIG_IEEE1394=y
#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_IEEE1394_OUI_DB is not set
# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
#
# Device Drivers
#
#
# Texas Instruments PCILynx requires I2C
#CONFIG_IEEE1394_OHCI1394=y
#
# Protocol Drivers
#
# CONFIG_IEEE1394_VIDEO1394 is not set
# CONFIG_IEEE1394_SBP2 is not set
# CONFIG_IEEE1394_ETH1394 is not set
# CONFIG_IEEE1394_DV1394 is not setCONFIG_IEEE1394_RAWIO=y
# CONFIG_IEEE1394_CMP is not set
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not setCONFIG_UNIX=y
# CONFIG_NET_KEY is not setCONFIG_INET=yCONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=y
# CONFIG_IP_NF_FTP is not set
# CONFIG_IP_NF_IRC is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not setCONFIG_IP_NF_QUEUE=yCONFIG_IP_NF_IPTABLES=yCONFIG_IP_NF_MATCH_LIMIT=yCONFIG_IP_NF_MATCH_IPRANGE=yCONFIG_IP_NF_MATCH_MAC=y
# CONFIG_IP_NF_MATCH_LAYER7 is not set
# CONFIG_IP_NF_MATCH_CHILDLEVEL is not setCONFIG_IP_NF_MATCH_PKTTYPE=yCONFIG_IP_NF_MATCH_MARK=yCONFIG_IP_NF_MATCH_MULTIPORT=yCONFIG_IP_NF_MATCH_TOS=yCONFIG_IP_NF_MATCH_RECENT=yCONFIG_IP_NF_MATCH_ECN=yCONFIG_IP_NF_MATCH_DSCP=yCONFIG_IP_NF_MATCH_AH_ESP=yCONFIG_IP_NF_MATCH_LENGTH=yCONFIG_IP_NF_MATCH_TTL=yCONFIG_IP_NF_MATCH_TCPMSS=yCONFIG_IP_NF_MATCH_HELPER=yCONFIG_IP_NF_MATCH_STATE=yCONFIG_IP_NF_MATCH_CONNTRACK=yCONFIG_IP_NF_MATCH_OWNER=yCONFIG_IP_NF_FILTER=yCONFIG_IP_NF_TARGET_REJECT=yCONFIG_IP_NF_NAT=yCONFIG_IP_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=yCONFIG_IP_NF_TARGET_REDIRECT=yCONFIG_IP_NF_TARGET_NETMAP=yCONFIG_IP_NF_TARGET_SAME=y
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not setCONFIG_IP_NF_MANGLE=yCONFIG_IP_NF_TARGET_TOS=yCONFIG_IP_NF_TARGET_ECN=yCONFIG_IP_NF_TARGET_DSCP=yCONFIG_IP_NF_TARGET_MARK=yCONFIG_IP_NF_TARGET_CLASSIFY=yCONFIG_IP_NF_TARGET_LOG=yCONFIG_IP_NF_TARGET_ULOG=yCONFIG_IP_NF_TARGET_TCPMSS=yCONFIG_IP_NF_ARPTABLES=yCONFIG_IP_NF_ARPFILTER=yCONFIG_IP_NF_ARP_MANGLE=y
# CONFIG_IP_NF_RAW is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not setCONFIG_NETDEVICES=yCONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not setCONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not setCONFIG_8139TOO=yCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#CONFIG_NET_RADIO=y
#
# Obsolete Wireless cards support (pre-802.11)
#
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set
# CONFIG_PCMCIA_WAVELAN is not set
# CONFIG_PCMCIA_NETWAVE is not set
#
# Wireless 802.11 Frequency Hopping cards support
#
# CONFIG_PCMCIA_RAYCS is not set
#
# Wireless 802.11b ISA/PCI cards support
#
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
#
# Wireless 802.11b Pcmcia/Cardbus cards support
#CONFIG_AIRO_CS=m
# CONFIG_PCMCIA_WL3501 is not set
#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support #
# CONFIG_PRISM54 is not set CONFIG_NET_WIRELESS=y
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not setCONFIG_SOUND_GAMEPORT=yCONFIG_SERIO=yCONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_NR_TTY_DEVICES=63CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_ACPI is not setCONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
# CONFIG_QIC02_TAPE is not set
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not setCONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not setCONFIG_AGP_INTEL=y
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not setCONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not setCONFIG_DRM_RADEON=y
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not setCONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
# CONFIG_HPET_NOMMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#CONFIG_FB=y
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not setCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_CLE266 is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not setCONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
#
# Logo configuration
#CONFIG_LOGO=yCONFIG_LOGO_WALKEN=yCONFIG_LOGO_LINUX_MONO=yCONFIG_LOGO_LINUX_VGA16=yCONFIG_LOGO_LINUX_CLUT224=y
#
# Bootsplash configuration
#
#
# Sound
#CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#CONFIG_SND=yCONFIG_SND_TIMER=yCONFIG_SND_PCM=yCONFIG_SND_RAWMIDI=yCONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not setCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=yCONFIG_SND_PCM_OSS=yCONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#CONFIG_SND_MPU401_UART=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ISA devices
#
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not setCONFIG_SND_INTEL8X0=y
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set
#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_VXP440 is not set
# CONFIG_SND_PDAUDIOCF is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
#
# USB Host Controller Drivers
#CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_OHCI_HCD is not setCONFIG_USB_UHCI_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not setCONFIG_USB_PRINTER=yCONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
#
# USB Human Interface Devices (HID)
#CONFIG_USB_HID=yCONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support #
#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT3_FS=yCONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_FS_MBCACHE=yCONFIG_REISER4_FS=y
# CONFIG_REISER4_FS_SYSCALL is not setCONFIG_REISER4_LARGE_KEY=y
# CONFIG_REISER4_CHECK is not setCONFIG_REISER4_USE_EFLUSH=y
# CONFIG_REISER4_COPY_ON_CAPTURE is not set
# CONFIG_REISER4_BADBLOCKS is not setCONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not setCONFIG_AUTOFS4_FS=y
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=y
# CONFIG_ZISOFS is not setCONFIG_UDF_FS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=yCONFIG_MSDOS_FS=yCONFIG_VFAT_FS=yCONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=yCONFIG_DEVFS_FS=yCONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS_XATTR is not setCONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not setCONFIG_RAMFS=y
# CONFIG_SUPERMOUNT is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_LUFS_FS is not set
#
# Network File Systems
#CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not setCONFIG_NFSD=y
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not setCONFIG_LOCKD=yCONFIG_EXPORTFS=yCONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not setCONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not setCONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not setCONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Profiling support
#CONFIG_PROFILING=yCONFIG_OPROFILE=y
#
# NeTraverse Win4Lin Support
#
# CONFIG_MKI is not set
#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not setCONFIG_EARLY_PRINTK=yCONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_KGDB_MORE is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_4KSTACKS is not setCONFIG_SCHEDSTATS=y
#
# Security options
#
# CONFIG_SECURITY is not set
#
# Cryptographic options
#CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
#CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
# CONFIG_QSORT is not setCONFIG_X86_BIOS_REBOOT=yCONFIG_X86_STD_RESOURCES=yCONFIG_PC=y
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 3 lines · Gunther Persoons
I cant use my pcmcia wireless network card with this version, i can use it with V0.7.25-0. dhcpcd and ifconfig lock when i try to use them. config attached.
extremely weird - there simply was no change between -0 and -1 that could have affected it. If you do this on the -1 kernel:
echo 0 > /proc/sys/kernel/preempt_wakeup_timing echo 1 > /proc/sys/kernel/debug_direct_keyboard
then you'll get precisely the -0 kernel, bit for bit. (plus the symbol export fix in rtc.ko, which should have zero relevance to your setup.)
[note that debug_direct_keyboard is dangerous.]
so i believe the explanation has to be something else:
- are you sure the build is correct?
- are you sure it still works with the -0 kernel, maybe the bug is transient?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 21 lines · Ingo Molnar
Quoted 5 lines · Gunther Persoons
I cant use my pcmcia wireless network card with this version, i can use it with V0.7.25-0. dhcpcd and ifconfig lock when i try to use them. config attached.
extremely weird - there simply was no change between -0 and -1 that could have affected it. If you do this on the -1 kernel:
echo 0 >
/proc/sys/kernel/preempt_wakeup_timingecho 1 >/proc/sys/kernel/debug_direct_keyboardthen you'll get precisely the -0 kernel, bit for bit. (plus the symbol export fix in rtc.ko, which should have zero relevance to your setup.)
[note that
debug_direct_keyboardis dangerous.]
Quoted 11 lines
so i believe the explanation has to be something else:
- are you sure the build is correct?
- are you sure it still works with the -0 kernel, maybe the bug is transient?
Ingo
Removing every software update i did between 25.0 and 25.1 resolved the problem, i think there was something with my gentoo init scripts. Although 25.0 was working fine with the software updates. I am now going to reinstall the updates one by one to see which one caused it.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 21 lines · Ingo Molnar
Quoted 5 lines · Gunther Persoons
I cant use my pcmcia wireless network card with this version, i can use it with V0.7.25-0. dhcpcd and ifconfig lock when i try to use them. config attached.
extremely weird - there simply was no change between -0 and -1 that could have affected it. If you do this on the -1 kernel:
echo 0 >
/proc/sys/kernel/preempt_wakeup_timingecho 1 >/proc/sys/kernel/debug_direct_keyboardthen you'll get precisely the -0 kernel, bit for bit. (plus the symbol export fix in rtc.ko, which should have zero relevance to your setup.)
[note that
debug_direct_keyboardis dangerous.]
Quoted 11 lines
so i believe the explanation has to be something else:
- are you sure the build is correct?
- are you sure it still works with the -0 kernel, maybe the bug is transient?
Ingo
As i thought the init scripts were my problem. But i have an other question.
I recently started to use NFS. But with the mainline kernel cpu usage is 100%, and when i look in top si shows bewteen 40 and 60% cpu usage. With your kernel si is 0%, but ksoftriqd/0 shows around 38% cpu usage and total cpu usage is around 52%. Is this normal? on my server cpu usage is 2% but it uses a intel network card. My laptop is using a wireless pcmcia card (cisco).
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 7 lines · Gunther Persoons
As i thought the init scripts were my problem. But i have an other question. I recently started to use NFS. But with the mainline kernel cpu usage is 100%, and when i look in top si shows bewteen 40 and 60% cpu usage. With your kernel si is 0%, but ksoftriqd/0 shows around 38% cpu usage and total cpu usage is around 52%. Is this normal? on my server cpu usage is 2% but it uses a intel network card. My laptop is using a wireless pcmcia card (cisco).
normally the RT kernel has higher system overhead (all IRQ traffic goes to separate thread contexts, involving context-switching, etc.) so a _reduction_ in system overhead looks a bit strange. Is there a difference in performance?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 14 lines · Ingo Molnar
Quoted 9 lines · Gunther Persoons
As i thought the init scripts were my problem. But i have an other question. I recently started to use NFS. But with the mainline kernel cpu usage is 100%, and when i look in top si shows bewteen 40 and 60% cpu usage. With your kernel si is 0%, but ksoftriqd/0 shows around 38% cpu usage and total cpu usage is around 52%. Is this normal? on my server cpu usage is 2% but it uses a intel network card. My laptop is using a wireless pcmcia card (cisco).
Quoted 9 lines
normally the RT kernel has higher system overhead (all IRQ traffic goes to separate thread contexts, involving context-switching, etc.) so a _reduction_ in system overhead looks a bit strange. Is there a difference in performance?
Ingo
With the mainline kernel i get speeds around 600-700kb/s and with the RT kernel i get speeds around 550kb/s. No other differnces except the cpu usage and that the RT kernel feels much more responsive.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 21 lines · Ingo Molnar
Quoted 5 lines · Gunther Persoons
I cant use my pcmcia wireless network card with this version, i can use it with V0.7.25-0. dhcpcd and ifconfig lock when i try to use them. config attached.
extremely weird - there simply was no change between -0 and -1 that could have affected it. If you do this on the -1 kernel:
echo 0 >
/proc/sys/kernel/preempt_wakeup_timingecho 1 >/proc/sys/kernel/debug_direct_keyboardthen you'll get precisely the -0 kernel, bit for bit. (plus the symbol export fix in rtc.ko, which should have zero relevance to your setup.)
[note that
debug_direct_keyboardis dangerous.]
Quoted 11 lines
so i believe the explanation has to be something else:
- are you sure the build is correct?
- are you sure it still works with the -0 kernel, maybe the bug is transient?
Ingo
this bug i got with .26
wget:12388 BUG: lock held at task exit time!
[c03ec764] {kernel_sem.lock}
.. held by: wget:12388 [c87d2680, 116]
... acquired at: __lock_text_start+0x2c/0x63
wget/12388: BUG in __up_mutex at kernel/rt.c:1076
[<c01395b0>] __up_mutex+0x2a3/0x509 (8) [<c037f3b0>] __sched_text_start+0x508/0x64b (36) [<c013a637>] up+0xef/0x104 (24) [<c037f3b0>] __sched_text_start+0x508/0x64b (12) [<c037f3b0>] __sched_text_start+0x508/0x64b (20) [<c012480d>] do_exit+0x2d8/0x515 (8) [<c0138126>] printk_lock+0x7f/0xc1 (4) [<c0381136>] __lock_text_start+0x2c/0x63 (36) [<c012480d>] do_exit+0x2d8/0x515 (32) [<c012ea47>] get_signal_to_deliver+0x21e/0x379 (16) [<c0124ab8>] do_group_exit+0x3f/0xcc (28) [<c012ea47>] get_signal_to_deliver+0x21e/0x379 (8) [<c012ea73>] get_signal_to_deliver+0x24a/0x379 (24) [<c0105f88>] do_signal+0xa4/0x174 (44) [<c014725b>] free_hot_page+0x20/0x24 (112) [<c0177541>] poll_freewait+0x38/0x40 (12) [<c0178254>] sys_poll+0x18b/0x21f (16) [<c0177549>] __pollwait+0x0/0xc6 (36) [<c010608d>] do_notify_resume+0x35/0x38 (24) [<c010620e>] work_notifysig+0x13/0x15 (8) ---------------------------
| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c037eef2>] .... __sched_text_start+0x4a/0x64b
.....[<00000000>] .. ( <= 0x0)
.. [<c013a5f1>] .... up+0xa9/0x104
.....[<00000000>] .. ( <= 0x0)
.. [<c0139665>] .... __up_mutex+0x358/0x509
.....[<00000000>] .. ( <= 0x0)
.. [<c013b1fe>] .... print_traces+0x14/0x44
.....[<00000000>] .. ( <= 0x0)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 5 lines · Gunther Persoons
this bug i got with .26
wget:12388 BUG: lock held at task exit time!
[c03ec764] {kernel_sem.lock}
.. held by: wget:12388 [c87d2680, 116]
... acquired at:__lock_text_start+0x2c/0x63
i've uploaded .26-1 which has special BKL-debugging code added, which will (hopefully) pinpoint where the BKL count leaked. (Karsten had similar problems, with NFS.)
so, could you try .26-1 from the usual place:
http://redhat.com/~mingo/realtime-preempt/
and make sure you still have CONFIG_RT_DEADLOCK_DETECT enabled. When this warning message hits next time around it should print some more info about the place that last acquired the BKL.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 4 lines · On Thu, 11 Nov 2004 22:51:22 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus rtc_wakeup -f 8192). Got this on the console:
IRQ 8 [14] is being piggy. need_resched=0, cpu=0
and the machine locked. will build with debugging and try to reproduce.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 16 lines · Florian Schmidt
Quoted 4 lines · On Thu, 11 Nov 2004 22:51:22 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
Quoted 6 lines
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
flo
Did you get any other messages in the log? This message is harmless as far as the machine locking. This gets printed from rtc when a read of /dev/rtc is missed before another interrupt arrives.
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 10 lines · On Sun, 14 Nov 2004 07:26:46 -0600 "K.R. Foley" <[email protected]> wrote:
Quoted 6 lines
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
flo
Did you get any other messages in the log? This message is harmless as far as the machine locking. This gets printed from rtc when a read of
/dev/rtcis missed before another interrupt arrives.
I see. I have rebuilt and run the kernel with debugging, but it seems the console dump is pretty useless when an ncurses app is running on the active console (1 line at the bottom showed that there was more output, but i couldn't see it). Will rerun and try to reproduce again without any ncurses stuff running :)
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to K.R. FoleyQuoted 21 lines · K.R. Foley
Quoted 19 lines · Florian Schmidt
Quoted 4 lines · On Thu, 11 Nov 2004 22:51:22 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
IRQ 8[14] is being piggy. need_resched=0, cpu=0
Quoted 8 lines
Quoted 4 lines
and the machine locked. will build with debugging and try to reproduce.
flo
Did you get any other messages in the log? This message is harmless as far as the machine locking. This gets printed from rtc when a read of
/dev/rtcis missed before another interrupt arrives.kr
Actually this message should probably be removed, because the only process that will every show up as being a piggy anymore will be 'IRQ 8', right?
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to K.R. FoleyQuoted 3 lines · On Sun, 14 Nov 2004 07:26:46 -0600 "K.R. Foley" <[email protected]> wrote:
Did you get any other messages in the log? This message is harmless as far as the machine locking. This gets printed from rtc when a read of
/dev/rtcis missed before another interrupt arrives.
Arr, this time it just locked silently. sys-rq keysd were still available but didn't produce any console output (sys-rq-b still rebooted the machine though :))
I suppose this doesn't relly make sense w/o a serial console. I will get a second machine on next friday. Then i can hopefully provide more useful info than "he my machine locked up"..
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Florian SchmidtQuoted 8 lines · Florian Schmidt
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
hm, i tried and couldnt reproduce this, so i'm curious what your debugging build yields.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 11 lines · On Sun, 14 Nov 2004 15:15:51 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 8 lines
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
hm, i tried and couldnt reproduce this, so i'm curious what your debugging build yields.
not mch sadly. I tried booting into it once more and had to wait quite a while (around 30minutes) until the lock. I got this around 10 minutes before the lock though:
Nov 15 00:09:23 mango kernel: bug in rtc_read(): called in state S_IDLE!
The system locked up quitly again. no console dump. sys rq kept working (i could sync, remount ro and reboot). Does sys rq offer diagnosis which would be useful for you?
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 17 lines · Florian Schmidt
Quoted 11 lines · On Sun, 14 Nov 2004 15:15:51 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 8 lines
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
hm, i tried and couldnt reproduce this, so i'm curious what your debugging build yields.
Quoted 5 lines
not mch sadly. I tried booting into it once more and had to wait quite a while (around 30minutes) until the lock. I got this around 10 minutes before the lock though:
Nov 15 00:09:23 mango kernel: bug in rtc_read(): called in state S_IDLE!
Still don't think this has anything to do with the lock. This message is usually produced by reading the rtc with a program that is running at a higher priority than 'IRQ 8'. Did you chrt the 'IRQ 8' thread? Make sure the reader priority is at least 1 less than the handler.
Quoted 4 lines
The system locked up quitly again. no console dump. sys rq kept working (i could sync, remount ro and reboot). Does sys rq offer diagnosis which would be useful for you?
Possibly 't' for trace?
kr
Quoted 3 lines
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 7 lines · On Sun, 14 Nov 2004 15:15:51 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 4 lines · Florian Schmidt
i just build and booted into 26-3 (w/o debugging stuff) and put a little load on the system (find /'s plus kernel compile plus
rtc_wakeup-f 8192). Got this on the console:
Quoted 7 lines
Quoted 4 lines
IRQ 8[14] is being piggy. need_resched=0, cpu=0and the machine locked. will build with debugging and try to reproduce.
hm, i tried and couldnt reproduce this, so i'm curious what your debugging build yields.
Ok, i found time to boot into it once more. Now i'm pretty certain that the rtc triggers the lock. As this time the kernel ran fine again for ca. 30 minutes. and then it locked right at the moment of spitting one of the rtc being piggy messages to the ocnsole (of which i get about 1 per minute or so, so it still might have been coincidence, but i was busy typing atm and right in the moment of the piggy message, keyboard stopped working).
The sys-rq-t didn't help so much as i only have 50lines on my vga console. The only thing i got to see was a list of held locks. I wrote down the unique ones:
lock held by aquired at atomic_read bash read_char gendev_rel_sem init init_hwif_data serio_lock IRQ 1 serio_interrupt &mm->mmap_sem rtc_wakeup do_page_fault sysrq_key_table IRQ 1 __handle_sysrq
Btw: i do have access to another machine on the internet, but i connect to the net it via ppp0, thus netconsole won't help, right? Would it maybe be feasible to add some sort of netconsole support which just dumps prinkt's over any net interface to any IP with the price of not being able to catch very early printk's (i'm probably talking out of my ass here. you'll set me straight :))
Flo
.config attached
And FYI: some latency traces from before the lock:
preemption latency trace v1.0.7 on 2.6.10-rc1-mm3-RT-V0.7.26-4-NORT
-------------------------------------------------------
latency: 985 us, entries: 19 (19) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 0/2, uid:0 nice:0 policy:1 rt_prio:49
-----------------
=> started at: try_to_wake_up+0x5a/0x110 <c01148da>
=> ended at: finish_task_switch+0x51/0xc0 <c0114dc1>
=======>
5 80000000 0.000ms (+0.000ms): trace_start_sched_wakeup (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): (50) ((98))
5 80000000 0.000ms (+0.000ms): (2) ((5))
5 80000000 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): preempt_schedule (__do_IRQ)
5 80000000 0.000ms (+0.000ms): irq_exit (do_IRQ)
5 80000000 0.000ms (+0.000ms): do_softirq (irq_exit)
5 80000000 0.000ms (+0.983ms): __do_softirq (do_softirq)
5 00000000 0.983ms (+0.000ms): preempt_schedule (_mmx_memcpy)
5 80000000 0.984ms (+0.000ms): __schedule (preempt_schedule)
5 80000000 0.984ms (+0.000ms): profile_hit (__schedule)
5 80000000 0.984ms (+0.000ms): sched_clock (__schedule)
2 80000000 0.984ms (+0.000ms): __switch_to (__schedule)
2 80000000 0.984ms (+0.000ms): (5) ((2))
2 80000000 0.984ms (+0.000ms): (98) ((50))
2 80000000 0.985ms (+0.000ms): finish_task_switch (__schedule)
2 80000000 0.985ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
2 80000000 0.985ms (+0.003ms): (2) ((50))
2 80000000 0.989ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)preemption latency trace v1.0.7 on 2.6.10-rc1-mm3-RT-V0.7.26-4-NORT
-------------------------------------------------------
latency: 1035 us, entries: 19 (19) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 0/2, uid:0 nice:0 policy:1 rt_prio:49
-----------------
=> started at: try_to_wake_up+0x5a/0x110 <c01148da>
=> ended at: finish_task_switch+0x51/0xc0 <c0114dc1>
=======>
5 80000000 0.000ms (+0.000ms): trace_start_sched_wakeup (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): (50) ((98))
5 80000000 0.000ms (+0.000ms): (2) ((5))
5 80000000 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): preempt_schedule (__do_IRQ)
5 80000000 0.000ms (+0.000ms): irq_exit (do_IRQ)
5 80000000 0.000ms (+0.000ms): do_softirq (irq_exit)
5 80000000 0.000ms (+1.033ms): __do_softirq (do_softirq)
5 00000000 1.033ms (+0.000ms): preempt_schedule (_mmx_memcpy)
5 80000000 1.034ms (+0.000ms): __schedule (preempt_schedule)
5 80000000 1.034ms (+0.000ms): profile_hit (__schedule)
5 80000000 1.034ms (+0.000ms): sched_clock (__schedule)
2 80000000 1.034ms (+0.000ms): __switch_to (__schedule)
2 80000000 1.034ms (+0.000ms): (5) ((2))
2 80000000 1.035ms (+0.000ms): (98) ((50))
2 80000000 1.035ms (+0.000ms): finish_task_switch (__schedule)
2 80000000 1.035ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
2 80000000 1.035ms (+0.003ms): (2) ((50))
2 80000000 1.038ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)preemption latency trace v1.0.7 on 2.6.10-rc1-mm3-RT-V0.7.26-4-NORT
-------------------------------------------------------
latency: 1048 us, entries: 19 (19) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 0/2, uid:0 nice:0 policy:1 rt_prio:49
-----------------
=> started at: try_to_wake_up+0x5a/0x110 <c01148da>
=> ended at: finish_task_switch+0x51/0xc0 <c0114dc1>
=======>
5 80000000 0.000ms (+0.000ms): trace_start_sched_wakeup (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): (50) ((98))
5 80000000 0.000ms (+0.000ms): (2) ((5))
5 80000000 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): preempt_schedule (__do_IRQ)
5 80000000 0.000ms (+0.000ms): irq_exit (do_IRQ)
5 80000000 0.000ms (+0.000ms): do_softirq (irq_exit)
5 80000000 0.000ms (+1.046ms): __do_softirq (do_softirq)
5 00000000 1.046ms (+0.000ms): preempt_schedule (_mmx_memcpy)
5 80000000 1.047ms (+0.000ms): __schedule (preempt_schedule)
5 80000000 1.047ms (+0.000ms): profile_hit (__schedule)
5 80000000 1.047ms (+0.000ms): sched_clock (__schedule)
2 80000000 1.047ms (+0.000ms): __switch_to (__schedule)
2 80000000 1.047ms (+0.000ms): (5) ((2))
2 80000000 1.047ms (+0.000ms): (98) ((50))
2 80000000 1.048ms (+0.000ms): finish_task_switch (__schedule)
2 80000000 1.048ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
2 80000000 1.048ms (+0.002ms): (2) ((50))
2 80000000 1.050ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)preemption latency trace v1.0.7 on 2.6.10-rc1-mm3-RT-V0.7.26-4-NORT
-------------------------------------------------------
latency: 56 us, entries: 19 (19) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 8/14, uid:0 nice:-10 policy:1 rt_prio:98
-----------------
=> started at: try_to_wake_up+0x5a/0x110 <c01148da>
=> ended at: finish_task_switch+0x51/0xc0 <c0114dc1>
=======>
5 80000000 0.000ms (+0.000ms): trace_start_sched_wakeup (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): (1) ((98))
5 80000000 0.000ms (+0.000ms): (14) ((5))
5 80000000 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
5 80000000 0.000ms (+0.000ms): preempt_schedule (__do_IRQ)
5 80000000 0.000ms (+0.000ms): irq_exit (do_IRQ)
5 80000000 0.000ms (+0.000ms): do_softirq (irq_exit)
5 80000000 0.000ms (+0.054ms): __do_softirq (do_softirq)
5 00000000 0.055ms (+0.000ms): preempt_schedule (_mmx_memcpy)
5 80000000 0.055ms (+0.000ms): __schedule (preempt_schedule)
5 80000000 0.055ms (+0.000ms): profile_hit (__schedule)
5 80000000 0.055ms (+0.000ms): sched_clock (__schedule) 14 80000000 0.055ms (+0.000ms): __switch_to (__schedule)
14 80000000 0.056ms (+0.000ms): (5) ((14))
14 80000000 0.056ms (+0.000ms): (98) ((1))
14 80000000 0.056ms (+0.000ms): finish_task_switch (__schedule) 14 80000000 0.056ms (+0.000ms): trace_stop_sched_switched (finish_task_switch) 14 80000000 0.056ms (+0.003ms): (14) ((1))
14 80000000 0.059ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Ingo MolnarQuoted 6 lines · Ingo Molnar
i have released the -V0.7.25-1 Real-Time Preemption patch, which can be downloaded from the usual place:
Hi,
I've been running RT-0.7.26-3 already on both of my machines (P4/UP laptop and P4/SMP-HT desktop) and I must say that overall stability seems to be good.
However I still have some pending complaints ;) These are the ones that are troubling my confidence:
1) Almost everytime the P4/SMP box locks up while unloading the ALSA
modules e.g.on shutdown. This has been an issue for quite some time on the latest RT patches, not exclusive to RT-V0.7.26-3. Probably it started since the merge into -mm3, but not sure.
One thing to note is that, when the nmi_watchdog=1 boot parameter is
set, this lockup behavior seem to be avoided.
This isn't quite an issue on my other P4/UP (laptop), but it segfaults
sometimes too, while rmmod'ing the alsa modules. It doesn't lockup thought, and the corresponding tracedump can be pasted from syslog (see attachment). Unfortunately this is the only cross-evidence I could gather, and hope it helps to a clue, just because...
2) Serial console (or netconsole, if that matters) aren't showing
anything relevant for debugging; SysRq-T is just silent, only printing a "Show State" one liner. No traces, no dumps.
3) USB hotplugging is not working as it should be on my P4/UP laptop
(ohci_hcd), althought it seems to work on the P4/SMP-HT desktop (uhci_hcd). USB devices are only recognized if and only if already plugged at boot/init time; plugging in on a later time doesn't get listed by 'lsusb', but a single 'wakeup' message shows _once_, and only once, on syslog/dmesg.
Unplugging and/or plugging in back again, gives you nothing not even
that 'wakeup' message. As reported a few days before, this really seem to be introduced by -mm3 (and still an issue on -mm4, FWIW).
I'm just asking for hints here, as one of the main uses of the RT kernel
on my laptop is about using a Tascam US-224 USB Audio/MIDI controller interface, which is USB 1.1 based and have been quite successful with it, at least until (and including) -mm2-RT-V0.7.11 .
OK. Just some last resort questions: is there any plans (or recipe) on merging the RT patch(es) against the 2.6.10(-rc1) vanilla kernel? Or, at least for my laptop's sake, on top of this late and "well" behaved -mm2 ?
Hope someone knows it better ;)
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Nov 11 12:39:43 lambda alsa: Shutting down ALSA sound driver (version 1.0.6): Nov 11 12:39:46 lambda kernel: usbcore: deregistering driver snd-usb-usx2y Nov 11 12:39:46 lambda alsa: /etc/rc6.d/K70alsa: line 287: 6663 Segmentation fault /sbin/rmmod `echo $line | cut -d ' ' -f 1` >/dev/null 2>&1 Nov 11 12:39:46 lambda kernel: BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Nov 11 12:39:46 lambda kernel: printing eip: Nov 11 12:39:46 lambda kernel: c012adc5 Nov 11 12:39:46 lambda kernel: *pde = 00000000 Nov 11 12:39:46 lambda kernel: Oops: 0000 [#1] Nov 11 12:39:46 lambda kernel: PREEMPT Nov 11 12:39:46 lambda kernel: Modules linked in: nls_iso8859_15 nls_cp860 vfat fat nls_base realtime commoncap snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore pcmcia yenta_socket pcmcia_core natsemi crc32 loop subfs evdev ohci_hcd usbcore Nov 11 12:39:46 lambda kernel: CPU: 0 Nov 11 12:39:46 lambda kernel: EIP: 0060:[__up_mutex+59/353] Not tainted VLI Nov 11 12:39:46 lambda kernel: EIP: 0060:[<c012adc5>] Not tainted VLI Nov 11 12:39:46 lambda kernel: EFLAGS: 00010083 (2.6.10-rc1-mm3-RT-V0.7.24) Nov 11 12:39:46 lambda kernel: EIP is at __up_mutex+0x3b/0x161 Nov 11 12:39:46 lambda kernel: eax: 00000000 ebx: de444000 ecx: 00000064 edx: 00000064 Nov 11 12:39:46 lambda alsa: /etc/rc6.d/K70alsa: line 287: 6690 Segmentation fault /sbin/rmmod `echo $line | cut -d ' ' -f 1` >/dev/null 2>&1 Nov 11 12:39:46 lambda kernel: esi: df384aa0 edi: e010a58c ebp: e0062130 esp: de445ee4 Nov 11 12:39:46 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 11 12:39:46 lambda kernel: Process rmmod (pid: 6663, threadinfo=de444000 task=d7582550) Nov 11 12:39:46 lambda kernel: Stack: 00000296 c013b72c 00000286 00000296 c01b0f08 00000000 de444000 c0304a88 Nov 11 12:39:46 lambda kernel: e0062120 e0062130 c012b4c0 e010a59c c01b0f08 e010a5b4 c01b0f0a bfffd3e0 Nov 11 12:39:46 lambda kernel: de444000 c01b1817 e010a59c 00000000 bfffd3e0 de444000 e010a59c 00000000 Nov 11 12:39:46 lambda kernel: Call Trace: Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [<c012b4c0>] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f0a>] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [<c01b1817>] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [<c01f6f47>] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [<c01f72e0>] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [pg0+533426599/1069982720] usb_deregister+0x31/0x3f [usbcore] (8) Nov 11 12:39:46 lambda kernel: [<e004b1a7>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 11 12:39:46 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (20) Nov 11 12:39:46 lambda kernel: [<c012d368>] sys_delete_module+0x124/0x130 (20) Nov 11 12:39:46 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [<c014499b>] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: Code: 10 9c 8f 44 24 08 fa 9c 58 b8 00 e0 ff ff 21 e0 83 40 14 01 83 40 14 01 8b 47 08 e8 f6 81 fe ff 8b 77 08 89 c2 8b 86 38 05 00 00 <8b> 08 0f 18 01 90 8d 9e 38 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 11 12:39:46 lambda kernel: <6>note: rmmod[6663] exited with preempt_count 3 Nov 11 12:39:46 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/6663 Nov 11 12:39:46 lambda kernel: caller is do_exit+0x28d/0x4b6 Nov 11 12:39:46 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 11 12:39:46 lambda kernel: [<c02a973a>] __sched_text_start+0x4aa/0x5f5 (8) Nov 11 12:39:46 lambda kernel: [exit_notify+1154/2290] exit_notify+0x482/0x8f2 (24) Nov 11 12:39:46 lambda kernel: [<c01188be>] exit_notify+0x482/0x8f2 (24) Nov 11 12:39:46 lambda kernel: [do_exit+653/1206] do_exit+0x28d/0x4b6 (56) Nov 11 12:39:46 lambda kernel: [<c0118fbb>] do_exit+0x28d/0x4b6 (56) Nov 11 12:39:46 lambda kernel: [do_divide_error+0/320] do_divide_error+0x0/0x140 (44) Nov 11 12:39:46 lambda kernel: [<c0104d79>] do_divide_error+0x0/0x140 (44) Nov 11 12:39:46 lambda kernel: [do_page_fault+865/1341] do_page_fault+0x361/0x53d (64) Nov 11 12:39:46 lambda kernel: [<c0111344>] do_page_fault+0x361/0x53d (64) Nov 11 12:39:46 lambda kernel: [call_usermodehelper+346/364] call_usermodehelper+0x15a/0x16c (72) Nov 11 12:39:46 lambda kernel: [<c0125d6a>] call_usermodehelper+0x15a/0x16c (72) Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [__kfree_skb+118/263] __kfree_skb+0x76/0x107 (32) Nov 11 12:39:46 lambda kernel: [<c025d1dd>] __kfree_skb+0x76/0x107 (32) Nov 11 12:39:46 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (16) Nov 11 12:39:46 lambda kernel: [<c0125bc8>] __call_usermodehelper+0x0/0x48 (16) Nov 11 12:39:46 lambda kernel: [__down_mutex+73/322] __down_mutex+0x49/0x142 (16) Nov 11 12:39:46 lambda kernel: [<c02aa833>] __down_mutex+0x49/0x142 (16) Nov 11 12:39:46 lambda kernel: [dput+121/657] dput+0x79/0x291 (4) Nov 11 12:39:46 lambda kernel: [<c0166519>] dput+0x79/0x291 (4) Nov 11 12:39:46 lambda kernel: [kfree+81/237] kfree+0x51/0xed (28) Nov 11 12:39:46 lambda kernel: [<c013b85e>] kfree+0x51/0xed (28) Nov 11 12:39:46 lambda kernel: [do_page_fault+0/1341] do_page_fault+0x0/0x53d (28) Nov 11 12:39:46 lambda kernel: [<c0110fe3>] do_page_fault+0x0/0x53d (28) Nov 11 12:39:46 lambda kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 11 12:39:46 lambda kernel: [<c0104627>] error_code+0x2b/0x30 (8) Nov 11 12:39:46 lambda kernel: [vfs_rename+259/936] vfs_rename+0x103/0x3a8 (32) Nov 11 12:39:46 lambda kernel: [<c016007b>] vfs_rename+0x103/0x3a8 (32) Nov 11 12:39:46 lambda kernel: [__up_mutex+59/353] __up_mutex+0x3b/0x161 (12) Nov 11 12:39:46 lambda kernel: [<c012adc5>] __up_mutex+0x3b/0x161 (12) Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (16) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (16) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [<c012b4c0>] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f0a>] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [<c01b1817>] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [<c01f6f47>] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [<c01f72e0>] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [pg0+533426599/1069982720] usb_deregister+0x31/0x3f [usbcore] (8) Nov 11 12:39:46 lambda kernel: [<e004b1a7>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 11 12:39:46 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (20) Nov 11 12:39:46 lambda kernel: [<c012d368>] sys_delete_module+0x124/0x130 (20) Nov 11 12:39:46 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [<c014499b>] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: ALI 5451 0000:00:06.0: Device was removed without properly calling pci_disable_device(). This may need fixing. Nov 11 12:39:46 lambda kernel: BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Nov 11 12:39:46 lambda kernel: printing eip: Nov 11 12:39:46 lambda kernel: c012adc5 Nov 11 12:39:46 lambda kernel: *pde = 00000000 Nov 11 12:39:46 lambda kernel: Oops: 0000 [#2] Nov 11 12:39:46 lambda kernel: PREEMPT Nov 11 12:39:46 lambda kernel: Modules linked in: nls_iso8859_15 nls_cp860 vfat fat nls_base realtime commoncap snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore pcmcia yenta_socket pcmcia_core natsemi crc32 loop subfs evdev ohci_hcd usbcore Nov 11 12:39:46 lambda kernel: CPU: 0 Nov 11 12:39:46 lambda kernel: EIP: 0060:[__up_mutex+59/353] Not tainted VLI Nov 11 12:39:46 lambda kernel: EIP: 0060:[<c012adc5>] Not tainted VLI Nov 11 12:39:46 lambda kernel: EFLAGS: 00010083 (2.6.10-rc1-mm3-RT-V0.7.24) Nov 11 12:39:46 lambda kernel: EIP is at __up_mutex+0x3b/0x161 Nov 11 12:39:46 lambda kernel: eax: 00000000 ebx: de444000 ecx: 00000064 edx: 00000064 Nov 11 12:39:46 lambda kernel: esi: df384aa0 edi: e00f4894 ebp: c02fd3b0 esp: de445ef0 Nov 11 12:39:46 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 11 12:39:46 lambda kernel: Process rmmod (pid: 6690, threadinfo=de444000 task=d7582550) Nov 11 12:39:46 lambda kernel: Stack: 00000282 c013b72c 00000286 00000282 c01b0f08 00000000 de444000 c0304a88 Nov 11 12:39:46 lambda kernel: c02fd3a0 c02fd3b0 c012b4c0 e00f48a4 c01b0f08 e00f48bc c01b0f0a bfffd3e0 Nov 11 12:39:46 lambda kernel: de444000 c01b1817 e00f48a4 00000000 bfffd3e0 de444000 e00f48a4 00000000 Nov 11 12:39:46 lambda kernel: Call Trace: Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [<c012b4c0>] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f0a>] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [<c01b1817>] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [<c01f6f47>] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [<c01f72e0>] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 11 12:39:46 lambda kernel: [<c01b8816>] pci_unregister_driver+0xb/0x13 (8) Nov 11 12:39:46 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (8) Nov 11 12:39:46 lambda kernel: [<c012d368>] sys_delete_module+0x124/0x130 (8) Nov 11 12:39:46 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [<c014499b>] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: Code: 10 9c 8f 44 24 08 fa 9c 58 b8 00 e0 ff ff 21 e0 83 40 14 01 83 40 14 01 8b 47 08 e8 f6 81 fe ff 8b 77 08 89 c2 8b 86 38 05 00 00 <8b> 08 0f 18 01 90 8d 9e 38 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 11 12:39:46 lambda kernel: <6>note: rmmod[6690] exited with preempt_count 3 Nov 11 12:39:46 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/6690 Nov 11 12:39:46 lambda kernel: caller is do_exit+0x28d/0x4b6 Nov 11 12:39:46 lambda kernel: [__schedule+1194/1525] __sched_text_start+0x4aa/0x5f5 (8) Nov 11 12:39:46 lambda kernel: [<c02a973a>] __sched_text_start+0x4aa/0x5f5 (8) Nov 11 12:39:46 lambda kernel: [exit_notify+1154/2290] exit_notify+0x482/0x8f2 (24) Nov 11 12:39:46 lambda kernel: [<c01188be>] exit_notify+0x482/0x8f2 (24) Nov 11 12:39:46 lambda kernel: [do_exit+653/1206] do_exit+0x28d/0x4b6 (56) Nov 11 12:39:46 lambda kernel: [<c0118fbb>] do_exit+0x28d/0x4b6 (56) Nov 11 12:39:46 lambda kernel: [do_divide_error+0/320] do_divide_error+0x0/0x140 (44) Nov 11 12:39:46 lambda kernel: [<c0104d79>] do_divide_error+0x0/0x140 (44) Nov 11 12:39:46 lambda kernel: [do_page_fault+865/1341] do_page_fault+0x361/0x53d (64) Nov 11 12:39:46 lambda kernel: [<c0111344>] do_page_fault+0x361/0x53d (64) Nov 11 12:39:46 lambda kernel: [call_usermodehelper+346/364] call_usermodehelper+0x15a/0x16c (72) Nov 11 12:39:46 lambda kernel: [<c0125d6a>] call_usermodehelper+0x15a/0x16c (72) Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [__kfree_skb+118/263] __kfree_skb+0x76/0x107 (32) Nov 11 12:39:46 lambda kernel: [<c025d1dd>] __kfree_skb+0x76/0x107 (32) Nov 11 12:39:46 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (16) Nov 11 12:39:46 lambda kernel: [<c0125bc8>] __call_usermodehelper+0x0/0x48 (16) Nov 11 12:39:46 lambda kernel: [__down_mutex+73/322] __down_mutex+0x49/0x142 (16) Nov 11 12:39:46 lambda kernel: [<c02aa833>] __down_mutex+0x49/0x142 (16) Nov 11 12:39:46 lambda kernel: [dput+121/657] dput+0x79/0x291 (4) Nov 11 12:39:46 lambda kernel: [<c0166519>] dput+0x79/0x291 (4) Nov 11 12:39:46 lambda kernel: [kfree+81/237] kfree+0x51/0xed (28) Nov 11 12:39:46 lambda kernel: [<c013b85e>] kfree+0x51/0xed (28) Nov 11 12:39:46 lambda kernel: [do_page_fault+0/1341] do_page_fault+0x0/0x53d (28) Nov 11 12:39:46 lambda kernel: [<c0110fe3>] do_page_fault+0x0/0x53d (28) Nov 11 12:39:46 lambda kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 11 12:39:46 lambda kernel: [<c0104627>] error_code+0x2b/0x30 (8) Nov 11 12:39:46 lambda kernel: [vfs_rename+259/936] vfs_rename+0x103/0x3a8 (32) Nov 11 12:39:46 lambda kernel: [<c016007b>] vfs_rename+0x103/0x3a8 (32) Nov 11 12:39:46 lambda kernel: [__up_mutex+59/353] __up_mutex+0x3b/0x161 (12) Nov 11 12:39:46 lambda kernel: [<c012adc5>] __up_mutex+0x3b/0x161 (12) Nov 11 12:39:46 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (16) Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (16) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [<c012b4c0>] up+0x35/0x3d (24) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (8) Nov 11 12:39:46 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [<c01b0f0a>] kobject_release+0x0/0x8 (8) Nov 11 12:39:46 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [<c01b1817>] kref_put+0x51/0xc2 (12) Nov 11 12:39:46 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [<c01f6f47>] bus_remove_driver+0x3f/0x48 (36) Nov 11 12:39:46 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [<c01f72e0>] driver_unregister+0xb/0x1a (8) Nov 11 12:39:46 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 11 12:39:46 lambda kernel: [<c01b8816>] pci_unregister_driver+0xb/0x13 (8) Nov 11 12:39:46 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (8) Nov 11 12:39:46 lambda kernel: [<c012d368>] sys_delete_module+0x124/0x130 (8) Nov 11 12:39:46 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [<c014499b>] do_munmap+0x11a/0x176 (32) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (12) Nov 11 12:39:46 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [<c0144a2f>] sys_munmap+0x38/0x45 (24) Nov 11 12:39:46 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:46 lambda kernel: [<c0103bc1>] sysenter_past_esp+0x52/0x71 (12) Nov 11 12:39:47 lambda alsa: succeeded
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 3 lines · Rui Nuno Capela
2) Serial console (or netconsole, if that matters) aren't showing
anything relevant for debugging; SysRq-T is just silent, only printing a "Show State" one liner. No traces, no dumps.
next time around could you try SysRq-D first?
Quoted 4 lines
OK. Just some last resort questions: is there any plans (or recipe) on merging the RT patch(es) against the 2.6.10(-rc1) vanilla kernel? Or, at least for my laptop's sake, on top of this late and "well" behaved -mm2 ?
there should be an -rc2-mm1 kernel out within the next day or two, at which point i'll merge. (-rc1-mm5 has some problems.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
In reply to Rui Nuno CapelaQuoted 4 lines · Rui Nuno Capela
1) Almost everytime the P4/SMP box locks up while unloading the ALSA
modules e.g.on shutdown. This has been an issue for quite some time on the latest RT patches, not exclusive to RT-V0.7.26-3. Probably it started since the merge into -mm3, but not sure.
hm, the syslog you sent suggests that it's the 2.6.10-rc1-mm3-RT-V0.7.24 kernel that crashed:
Nov 11 12:39:46 lambda kernel: EFLAGS: 00010083 (2.6.10-rc1-mm3-RT-V0.7.24)
not -V0.7.26-3. The particular rmmod crash you got:
Nov 11 12:39:46 lambda kernel: [<c013b72c>] kmem_cache_free+0x4a/0xc7 (8) Nov 11 12:39:46 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 11 12:39:46 lambda kernel: [<c01b0f08>] kobject_cleanup+0x8e/0x90 (12)
seems to be quite related to one of the fixes that -V0.7.25 includes:
- added upstream fix for kobject related crash, pointed out by Shane Shrybman.
so ... unless you got similar crashes with -V0.7.25 or later kernels (but no syslog traces), please try the latest one (-V0.7.26-4), does that one crash in rmmod too?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Hi Ingo,
Quoted 8 lines
Quoted 4 lines · Rui Nuno Capela
1) Almost everytime the P4/SMP box locks up while unloading the ALSA
modules e.g.on shutdown. This has been an issue for quite some time on the latest RT patches, not exclusive to RT-V0.7.26-3. Probably it started since the merge into -mm3, but not sure.
Quoted 8 lines
hm, the syslog you sent suggests that it's the 2.6.10-rc1-mm3-RT-V0.7.24 kernel that crashed:
Nov 11 12:39:46 lambda kernel: EFLAGS: 00010083(2.6.10-rc1-mm3-RT-V0.7.24)
not -V0.7.26-3. The particular rmmod crash you got:
Yes, but as I said so, I couldn't get any relevent trace on the P4/SMP box, where the issue means real trouble -- the system just locks up while serial console's annoyingly quiet about it.
Did you notice about nmi_watchdog=1? As it seems, '/etc/init.d/alsasound stop' just runs smoothly then.
The dump I sent is in fact taken from my P4/UP desktop, and I thought it was somewhat related. Indeed, I cannot see it happenning anymore since running RT-0.7.25-1.
I will try RT-0.7.26-4 later on.
Seeya.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 14 lines · meself
Quoted 12 lines · Ingo Molnar
Quoted 5 lines
1) Almost everytime the P4/SMP box locks up while unloading the ALSA
modules e.g.on shutdown. This has been an issue for quite some time on the latest RT patches, not exclusive to RT-V0.7.26-3. Probably it started since the merge into -mm3, but not sure.hm, the syslog you sent suggests that it's the
2.6.10-rc1-mm3-RT-V0.7.24 kernel that crashed:Nov 11 12:39:46 lambda kernel: EFLAGS: 00010083(2.6.10-rc1-mm3-RT-V0.7.24)
Quoted 9 lines
Quoted 2 lines
not -V0.7.26-3. The particular rmmod crash you got:
Yes, but as I said so, I couldn't get any relevent trace on the P4/SMP box, where the issue means real trouble -- the system just locks up while serial console's annoyingly quiet about it.
I will try RT-0.7.26-4 later on.
Already testing with RT-0.7.26-5 now. No good. Same lockup behavior on alsa shutdown, altought not always, but very frequently. Nothing comes out via serial console. Not even SysRq is of any help, pretty hard these lockups are.
Oh, about the nmi_watchdog=1 trick: forget what I've told you before; I already saw a couple of freezes while its on.
(config.gz file attached).
/me out of ideas.
Byw now.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 4 lines · Rui Nuno Capela
Already testing with RT-0.7.26-5 now. No good. Same lockup behavior on alsa shutdown, altought not always, but very frequently. Nothing comes out via serial console. Not even SysRq is of any help, pretty hard these lockups are.
i'm rebasing to -rc2-mm1 currently, it should be completed today and we'll see whether those ALSA problems are upstream related.
is it stable if you dont unload the ALSA modules?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
Quoted 8 lines · Ingo Molnar
Quoted 4 lines · Rui Nuno Capela
Already testing with RT-0.7.26-5 now. No good. Same lockup behavior on alsa shutdown, altought not always, but very frequently. Nothing comes out via serial console. Not even SysRq is of any help, pretty hard these lockups are.
Quoted 5 lines
i'm rebasing to -rc2-mm1 currently, it should be completed today and we'll see whether those ALSA problems are upstream related.
is it stable if you dont unload the ALSA modules?
Yes, it looks like the stabliest of the RTs I've tested to date. Trouble only comes when '/etc/init.d/alsasound stop' is called.
Bye.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-2
In reply to Ingo MolnarQuoted 9 lines · Ingo Molnar
Quoted 4 lines
Already testing with RT-0.7.26-5 now. No good. Same lockup behavior on alsa shutdown, altought not always, but very frequently. Nothing comes out via serial console. Not even SysRq is of any help, pretty hard these lockups are.
i'm rebasing to -rc2-mm1 currently, it should be completed today and we'll see whether those ALSA problems are upstream related.
is it stable if you dont unload the ALSA modules?
i just found a potential problem that could cause a near-lockup during module removal. This code in __module_put_and_exit() could loop for quite long time:
while (current->lock_depth != -1)
unlock_kernel();since for specifically ALSA's no-BKL purpose i've introduced the notion of ->lock_depth going below -1. So if we happen to put the module while ->lock_depth is -2, it could take quite some time for it to go down to zero again ... (and it could cause other problems as well)
i fixed this in the -V0.7.27-2 release, freshly uploaded to the usual place:
http://redhat.com/~mingo/realtime-preempt/
do you still see lockups with this patch?
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0
In reply to Ingo Molnari have released the -V0.7.27-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a pure merge of -V0.7.26-5 to 2.6.10-rc2-mm1, there are no other changes.
to create a -V0.7.27-0 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-0
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1
i have released the -V0.7.27-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this quick update fixes a couple of build bugs.
Changes since a -V0.7.27-0:
- fix iptables compilation error
- fix selinux compilation error
to create a -V0.7.27-1 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-1
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
i have released the -V0.7.27-3 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is another quick update to fix a couple of bugs. Sorry about the fast pace of updates but these fixes are worth having ASAP:
Changes since a -V0.7.27-1:
- fix module-put BKL count bug - this could explain/fix the lockups reported by Rui Nuno Capela.
- fixed a netfilter related networking deadlock reported by Mark H. Johnson two weeks ago, it triggered on my testbox today. This (rare) bug could potentially explain some of the other lockup reports that are still open.
- fix load average constant +1.0 offset when PREEMPT_RT is enabled. This was an artifact of the IRQ-threading of the timer interrupt.
to create a -V0.7.27-3 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
Quoted 7 lines · On Tue, 16 Nov 2004 14:40:27 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.27-3 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is another quick update to fix a couple of bugs. Sorry about the fast pace of updates but these fixes are worth having ASAP:
Hi,
i built a 27-4 kernel and tried to boot into it. It hangs after:
Uncompressing linux.. Ok, booting the kernel
Will try plain 2.6.10-rc2-mm1 and 2.6.10-rc2
.config is here:
http://affenbande.org/~tapas/config
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
Quoted 9 lines · On Tue, 16 Nov 2004 15:20:21 +0100 Florian Schmidt <[email protected]> wrote:
i built a 27-4 kernel and tried to boot into it. It hangs after:
Uncompressing linux.. Ok, booting the kernel
Will try plain 2.6.10-rc2-mm1 and 2.6.10-rc2
.config is here:
Ok, both 2.6.10-rc2 and 2.6.10-rc2-mm1 boot fine.. Rebuilding 27-4 kernel to see if i can still reproduce above mentioned hang..
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
Quoted 7 lines · On Tue, 16 Nov 2004 16:08:22 +0100 Florian Schmidt <[email protected]> wrote:
Quoted 4 lines · On Tue, 16 Nov 2004 15:20:21 +0100 Florian Schmidt <[email protected]> wrote:
i built a 27-4 kernel and tried to boot into it. It hangs after:
Uncompressing linux.. Ok, booting the kernel
Quoted 8 lines
Quoted 5 lines
Will try plain 2.6.10-rc2-mm1 and 2.6.10-rc2
.config is here:
Ok, both 2.6.10-rc2 and 2.6.10-rc2-mm1 boot fine.. Rebuilding 27-4 kernel to see if i can still reproduce above mentioned hang..
ok, this new build still hangs at the same spot.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
Quoted 1 line · Florian Schmidt
ok, this new build still hangs at the same spot.
same problem here
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
In reply to Ingo Molnar-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 7 lines · Ingo Molnar
to create a -V0.7.27-3 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3
root@Atlantis:/usr/src# wget http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 - --18:43:08-- http://redhat.com/%7Emingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 => `realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3' Resolving redhat.com... 209.132.177.50 Connecting to redhat.com[209.132.177.50]:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://www.redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 [following] - --18:43:11-- http://www.redhat.com/%7Emingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 => `realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3' Resolving www.redhat.com... 209.132.177.50 Connecting to www.redhat.com[209.132.177.50]:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://people.redhat.com/mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 [following] - --18:43:12-- http://people.redhat.com/mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3 => `realtime-preempt-2.6.10-rc2-mm1-V0.7.27-3' Resolving people.redhat.com... 66.187.233.237 Connecting to people.redhat.com[66.187.233.237]:80... connected. HTTP request sent, awaiting response... 404 Not Found 18:43:12 ERROR 404: Not Found.
Mind Booster Noori
- -- /* *************************************************************** */
Marcos Daniel Marado Torres AKA Mind Booster Noori
http://student.dei.uc.pt/~marado - [email protected]
() Join the ASCII ribbon campaign against html email, Microsoft
/\ attachments and Software patents. They endanger the World.
Sign a petition against patents: http://petition.eurolinux.org
/* *************************************************************** */ -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Made with pgp4pine 1.76
iD8DBQFBmkpqmNlq8m+oD34RAv3VAJ0Xk4PVQuKmxbWGS9BKCyTj/b3pUACg7H5W hvMBsDXBU/3xSOJOI4jU7fA=
=AyKN
-----END PGP SIGNATURE-----
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
Quoted 4 lines · Marcos D. Marado Torres
root@Atlantis:/usr/src# wget http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.27-318:43:12 ERROR 404: Not Found.
yes. If you get a 404 then a newer patch has been uploaded - check the home directory for the latest patch. Old patches are in the older/ subdirectory.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
In reply to Marcos D. Marado TorresQuoted 2 lines · Marcos D. Marado Torres
HTTP request sent, awaiting response... 404 Not Found 18:43:12 ERROR 404: Not Found.
Usually means a bug was found and Ingo is uploading a new version.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
In reply to Ingo MolnarQuoted 2 lines · Ingo Molnar
i have released the -V0.7.27-3 Real-Time Preemption patch, which can be downloaded from the usual place:
Against some version of V0.7.25... that I just deleted.
bill
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
In reply to Ingo Molnari have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Changes since a -V0.7.27-3:
- made the UP-ioapic code a bit more conservative again - maybe some of the lockups are related?
- removed the BKL from the sound code in a cleaner way and removed the quite fragile 'negative ->lock_depth' code. Much less intrusive than i originally thought, and much cleaner as well.
- more fixes to the wakeup-timing logic, 4 false positives fixed in total, mostly related to new-task-wakeup not accurately starting the tracer.
- fixed the mmx-memcpy related latency reported by Florian Schmidt and others. Also turned off the MMX/SSE ops in the RAID code, which can introduce similar latencies.
- kgdb fix from Bill Huey
- knfsd shutdown with-BKL-held fix
- highmem compilation fix
- profiling related crash fix
- implemented 'direct-path' rescheduling to further reduce scheduling
latency: the kernel will now in most cases go from try_to_wakeup() into the scheduler directly without re-enabling interrupts ever again (and thus not giving irq handlers a window to increase latency). This is also the final fix for irq nesting and irq-stack recursion.
- turn off sync wakeups on PREEMPT_RT -> they are latency generators
to create a -V0.7.28-0 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.28-0
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-10
Quoted 9 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Changes since a -V0.7.27-3:
Running .26-5. Been running almost 2 days. All small latency values. Then, just a few minutes ago, got a 133us value:
preemption latency trace v1.0.7 on 2.6.10-rc1-mm3-RT-V0.7.26-5
-------------------------------------------------------
latency: 133 us, entries: 41 (41) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 15/19, uid:0 nice:-10 policy:1 rt_prio:46
-----------------
=> started at: try_to_wake_up+0x5a/0x110 <c0115f1a>
=> ended at: finish_task_switch+0x51/0xc0 <c0116401>
=======>
0 80000000 00000000 [0284618592175289] 0.000ms (+0.000ms): trace_start_sched_wakeup+0x8e/0xc0 <c013623e> (try_to_wake_up+0x5a/0x110 <c0115f1a>)
0 80000000 00000001 [0284618592175411] 0.000ms (+0.000ms): <00000034> (<0000008c>)
0 80000000 00000002 [0284618592175481] 0.000ms (+0.000ms): <00000013> (<00000000>)
0 80000000 00000003 [0284618592175763] 0.000ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (try_to_wake_up+0xf6/0x110 <c0115fb6>)
0 80000000 00000004 [0284618592175975] 0.000ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (__do_IRQ+0x13d/0x170 <c013f3cd>)
0 80000000 00000005 [0284618592176118] 0.000ms (+0.127ms): irq_exit+0xb/0x50 <c013f10b> (do_IRQ+0x53/0x70 <c01080d3>)
0 80000000 00000006 [0284618592387634] 0.127ms (+0.000ms): do_IRQ+0x0/0x70 <c0108080> (<0000a253>)
0 80000000 00000007 [0284618592387690] 0.127ms (+0.000ms): do_IRQ+0x0/0x70 <c0108080> (<0000000e>)
0 80000000 00000008 [0284618592387909] 0.128ms (+0.001ms): mask_and_ack_8259A+0xe/0x110 <c010b98e> (__do_IRQ+0x86/0x170 <c013f316>)
0 80000000 00000009 [0284618592390653] 0.129ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (__do_IRQ+0x86/0x170 <c013f316>)
0 80000000 0000000a [0284618592390834] 0.129ms (+0.000ms): redirect_hardirq+0xe/0xa0 <c013f15e> (__do_IRQ+0xbe/0x170 <c013f34e>)
0 80000000 0000000b [0284618592390971] 0.129ms (+0.000ms): wake_up_process+0xb/0x30 <c0115fdb> (redirect_hardirq+0x6e/0xa0 <c013f1be>)
0 80000000 0000000c [0284618592391058] 0.129ms (+0.000ms): try_to_wake_up+0xe/0x110 <c0115ece> (wake_up_process+0x2b/0x30 <c0115ffb>)
0 80000000 0000000d [0284618592391145] 0.130ms (+0.000ms): task_rq_lock+0xb/0x30 <c0115a8b> (try_to_wake_up+0x27/0x110 <c0115ee7>)
0 80000000 0000000e [0284618592391351] 0.130ms (+0.000ms): activate_task+0x11/0xa0 <c0115df1> (try_to_wake_up+0x5a/0x110 <c0115f1a>)
0 80000000 0000000f [0284618592391455] 0.130ms (+0.000ms): sched_clock+0x14/0x80 <c01103c4> (activate_task+0x1c/0xa0 <c0115dfc>)
0 80000000 00000010 [0284618592391614] 0.130ms (+0.000ms): recalc_task_prio+0xe/0x190 <c0115c5e> (activate_task+0x32/0xa0 <c0115e12>)
0 80000000 00000011 [0284618592391773] 0.130ms (+0.000ms): effective_prio+0x8/0x60 <c0115bf8> (recalc_task_prio+0x98/0x190 <c0115ce8>)
0 80000000 00000012 [0284618592391929] 0.130ms (+0.000ms): enqueue_task+0x12/0x50 <c0115bb2> (activate_task+0x6c/0xa0 <c0115e4c>)
0 80000000 00000013 [0284618592392059] 0.130ms (+0.000ms): trace_start_sched_wakeup+0xe/0xc0 <c01361be> (try_to_wake_up+0x5a/0x110 <c0115f1a>)
0 80000000 00000014 [0284618592392333] 0.130ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (try_to_wake_up+0x5a/0x110 <c0115f1a>)
0 80000000 00000015 [0284618592392439] 0.130ms (+0.000ms): <00000034> (<0000008c>)
0 80000000 00000016 [0284618592392510] 0.130ms (+0.000ms): <00000012> (<00000000>)
0 80000000 00000017 [0284618592392714] 0.130ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (try_to_wake_up+0xf6/0x110 <c0115fb6>)
0 80000000 00000018 [0284618592392916] 0.131ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (__do_IRQ+0x13d/0x170 <c013f3cd>)
0 80000000 00000019 [0284618592393022] 0.131ms (+0.000ms): irq_exit+0xb/0x50 <c013f10b> (do_IRQ+0x53/0x70 <c01080d3>)
0 80000000 0000001a [0284618592393709] 0.131ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (apm_bios_call_simple+0xd5/0xf0 <c0110ff5>)
0 80000000 0000001b [0284618592393899] 0.131ms (+0.000ms): apm_do_busy+0xb/0x40 <c01111eb> (cpu_idle+0x4c/0x70 <c0103f9c>)
0 80000000 0000001c [0284618592393987] 0.131ms (+0.000ms): apm_bios_call_simple+0xe/0xf0 <c0110f2e> (apm_do_busy+0x2e/0x40 <c011120e>)
0 80000000 0000001d [0284618592394648] 0.132ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (apm_bios_call_simple+0xd5/0xf0 <c0110ff5>)
0 00000000 0000001e [0284618592394819] 0.132ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (cpu_idle+0x64/0x70 <c0103fb4>)
0 80000000 0000001f [0284618592394966] 0.132ms (+0.000ms): __schedule+0xe/0x6b0 <c02bb38e> (preempt_schedule+0x58/0x80 <c02bbbc8>)
0 80000000 00000020 [0284618592395053] 0.132ms (+0.000ms): profile_hit+0x9/0x50 <c011bec9> (__schedule+0x43/0x6b0 <c02bb3c3>)
0 80000000 00000021 [0284618592395254] 0.132ms (+0.000ms): sched_clock+0x14/0x80 <c01103c4> (__schedule+0x70/0x6b0 <c02bb3f0>) 19 80000000 00000022 [0284618592395691] 0.132ms (+0.000ms): __switch_to+0xe/0x190 <c01049ae> (__schedule+0x2fc/0x6b0 <c02bb67c>) 19 80000000 00000023 [0284618592395824] 0.132ms (+0.000ms): <00000000> (<00000013>)
19 80000000 00000024 [0284618592395876] 0.132ms (+0.000ms): <0000008c> (<00000034>)
19 80000000 00000025 [0284618592395941] 0.132ms (+0.000ms): finish_task_switch+0x14/0xc0 <c01163c4> (__schedule+0x345/0x6b0 <c02bb6c5>) 19 80000000 00000026 [0284618592396082] 0.133ms (+0.000ms): trace_stop_sched_switched+0x14/0x190 <c0136284> (finish_task_switch+0x51/0xc0 <c0116401>) 19 80000000 00000027 [0284618592396150] 0.133ms (+0.002ms): <00000013> (<00000034>)
19 80000000 00000028 [0284618592399999] 0.135ms (+0.000ms): trace_stop_sched_switched+0x133/0x190 <c01363a3> (finish_task_switch+0x51/0xc0 <c0116401>)
Note the jump in irq_exit/do_IRQ.
I have .27-11 installed, but hadn't rebooted yet into it. Will compile .28-0, and hopefully boot into it today.
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-10
Quoted 2 lines · Adam Heath
Running .26-5. Been running almost 2 days. All small latency values. Then, just a few minutes ago, got a 133us value:
this entry has most of the overhead:
Quoted 4 lines
0 80000000 00000004 [0284618592175975] 0.000ms (+0.000ms): preempt_schedule+0x11/0x80 <c02bbb81> (__do_IRQ+0x13d/0x170 <c013f3cd>)
0 80000000 00000005 [0284618592176118] 0.000ms (+0.127ms): irq_exit+0xb/0x50 <c013f10b> (do_IRQ+0x53/0x70 <c01080d3>)
0 80000000 00000006 [0284618592387634] 0.127ms (+0.000ms): do_IRQ+0x0/0x70 <c0108080> (<0000a253>)
0 80000000 00000007 [0284618592387690] 0.127ms (+0.000ms): do_IRQ+0x0/0x70 <c0108080> (<0000000e>)this shows that we interrupted some longer critical section - in this case it seems to be BIOS/APM code.
Quoted 1 line
Note the jump in irq_exit/do_IRQ.
that jump is a delayed interrupt hitting the BIOS on its way out of APM idle mode it seems:
Quoted 2 lines
0 80000000 0000001b [0284618592393899] 0.131ms (+0.000ms): apm_do_busy+0xb/0x40 <c01111eb> (cpu_idle+0x4c/0x70 <c0103f9c>)
0 80000000 0000001c [0284618592393987] 0.131ms (+0.000ms): apm_bios_call_simple+0xe/0xf0 <c0110f2e> (apm_do_busy+0x2e/0x40 <c011120e>)There's nothing to be done about that, except to disable APM. Perhaps you could try ACPI, maybe that doesnt have such latencies in the BIOS.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
In reply to Ingo MolnarQuoted 7 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
I know I am late reporting this but I didn't figure it out until late this afternoon. I had trouble booting this one on my SMP workstation at the office. It would hang after it had almost finished booting. Anyway the solution was to disable tracing in /etc/rc.local and then re-enable it after it has finished booting. I know this happens late in the boot but it works for me.
echo 0 > /proc/sys/kernel/trace_enabled
#echo 0 > /proc/sys/kernel/preempt_wakeup_timing
#echo 50 > /proc/sys/kernel/preempt_max_latency
To be honest I am not sure which of the above fixes the late boot hang and I didn't have time to figure it out either. This doesn't happen on my SMP system here.
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
Quoted 7 lines · K.R. Foley
I know I am late reporting this but I didn't figure it out until late this afternoon. I had trouble booting this one on my SMP workstation at the office. It would hang after it had almost finished booting. Anyway the solution was to disable tracing in
/etc/rc.localand then re-enable it after it has finished booting. I know this happens late in the boot but it works for me.
Quoted 7 lines
echo 0 >
/proc/sys/kernel/trace_enabled
#echo 0 >/proc/sys/kernel/preempt_wakeup_timing
#echo 50 >/proc/sys/kernel/preempt_max_latencyTo be honest I am not sure which of the above fixes the late boot hang and I didn't have time to figure it out either. This doesn't happen on my SMP system here.
there's a generic bug i'm chasing right now that seems to get worse with tracing enabled. The symptom of the bug is typically a system hang.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
In reply to Ingo MolnarQuoted 6 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Hi,
here's another message log this time on my Dell laptop when removing my prism wlan pccard running the hostap driver.
BTW I didn't see my previous report about my vdr/router box on lkml so I hope it got through. Otherwise just tell me and I'll resend it.
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Nov 18 09:43:02 localhost kernel: wifi0: LinkStatus=4 (Access point out of range) Nov 18 09:43:02 localhost kernel: wifi0: LinkStatus: BSSID=00:09:5b:67:f0:98 Nov 18 09:43:06 localhost kernel: hostap_cs: CS_EVENT_CARD_REMOVAL Nov 18 09:43:06 localhost kernel: wifi0: card already removed or not configured during shutdown Nov 18 09:43:06 localhost kernel: wifi0: Interrupt, but dev not OK Nov 18 09:43:06 localhost kernel: wifi0: card already removed or not configured during shutdown Nov 18 09:43:07 localhost kernel: BUG: sleeping function called from invalid context modprobe(22211) at kernel/rt.c:1364 Nov 18 09:43:07 localhost kernel: in_atomic():1 [00000004], irqs_disabled():1 Nov 18 09:43:07 localhost kernel: [__might_sleep+218/233] __might_sleep+0xda/0xe9 (8) Nov 18 09:43:07 localhost kernel: [__queue_work+78/102] __queue_work+0x4e/0x66 (24) Nov 18 09:43:07 localhost kernel: [__spin_lock+56/87] __spin_lock+0x38/0x57 (16) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (4) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (8) Nov 18 09:43:07 localhost kernel: [_spin_lock_irqsave+8/11] _spin_lock_irqsave+0x8/0xb (8) Nov 18 09:43:07 localhost kernel: [search_module_extables+18/115] search_module_extables+0x12/0x73 (4) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (4) Nov 18 09:43:07 localhost kernel: [search_exception_tables+33/35] search_exception_tables+0x21/0x23 (16) Nov 18 09:43:07 localhost kernel: [fixup_exception+30/104] fixup_exception+0x1e/0x68 (8) Nov 18 09:43:07 localhost kernel: [do_page_fault+499/1347] do_page_fault+0x1f3/0x543 (12) Nov 18 09:43:07 localhost kernel: [__down_mutex+464/844] __down_mutex+0x1d0/0x34c (148) Nov 18 09:43:07 localhost kernel: [dput+39/665] dput+0x27/0x299 (4) Nov 18 09:43:07 localhost kernel: [do_page_fault+0/1347] do_page_fault+0x0/0x543 (52) Nov 18 09:43:07 localhost kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (44) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (44) Nov 18 09:43:07 localhost kernel: [up+238/250] up+0xee/0xfa (24) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (32) Nov 18 09:43:07 localhost kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 09:43:07 localhost kernel: [kref_put+62/232] kref_put+0x3e/0xe8 (12) Nov 18 09:43:07 localhost kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 09:43:07 localhost kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 09:43:07 localhost kernel: [pg0+541997089/1068487680] exit_prism2_pccard+0xd/0x25 [hostap_cs] (8) Nov 18 09:43:07 localhost kernel: [sys_delete_module+315/361] sys_delete_module+0x13b/0x169 (12) Nov 18 09:43:07 localhost kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 18 09:43:07 localhost kernel: [do_munmap+272/315] do_munmap+0x110/0x13b (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 09:43:07 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb (12) Nov 18 09:43:07 localhost kernel: --------------------------- Nov 18 09:43:07 localhost kernel: | preempt count: 00000005 ] Nov 18 09:43:07 localhost kernel: | 5-level deep critical section nesting: Nov 18 09:43:07 localhost kernel: ---------------------------------------- Nov 18 09:43:07 localhost kernel: .. [up+168/250] .... up+0xa8/0xfa Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+1221/1236] .... __up_mutex+0x4c5/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+311/1236] .... __up_mutex+0x137/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+439/1236] .... __up_mutex+0x1b7/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [print_traces+13/52] .... print_traces+0xd/0x34 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: Nov 18 09:43:07 localhost kernel: BUG: Unable to handle kernel paging request at virtual address 656e7265 Nov 18 09:43:07 localhost kernel: printing eip: Nov 18 09:43:07 localhost kernel: c012f1ba Nov 18 09:43:07 localhost kernel: *pde = 00000000 Nov 18 09:43:07 localhost kernel: Oops: 0000 [#1] Nov 18 09:43:07 localhost kernel: PREEMPT Nov 18 09:43:07 localhost kernel: Modules linked in: hostap_crypt_wep hostap_cs hostap nfs lockd sunrpc lp binfmt_misc 8250_pci 8250_pnp 8250 serial_core evdev snd_intel8x0 snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc Nov 18 09:43:07 localhost kernel: CPU: 0 Nov 18 09:43:07 localhost kernel: EIP: 0060:[__up_mutex+458/1236] Not tainted VLI Nov 18 09:43:07 localhost kernel: EFLAGS: 00010097 (2.6.10-rc2-mm1-rt-v0.7.28-0) Nov 18 09:43:07 localhost kernel: EIP is at __up_mutex+0x1ca/0x4d4 Nov 18 09:43:07 localhost kernel: eax: 00000064 ebx: 00000064 ecx: 656e7265 edx: 00000064 Nov 18 09:43:07 localhost kernel: esi: c044f828 edi: d798f180 ebp: e09ea578 esp: cf890ec4 Nov 18 09:43:07 localhost kernel: ds: 007b es: 007b ss: 0068 preempt: 00000005 Nov 18 09:43:07 localhost kernel: Process modprobe (pid: 22211, threadinfo=cf890000 task=d11e0120) Nov 18 09:43:07 localhost kernel: Stack: 00000246 d11e0120 d11e0120 00000246 cf890000 c0407898 00000246 c14d7400 Nov 18 09:43:07 localhost kernel: c01f73f2 00000000 e09ea574 c044f828 c0457980 c0457990 c013024c cf890000 Nov 18 09:43:07 localhost kernel: c0457964 00000246 c0407880 d57ee108 cf890000 e09ea5a8 c01f73f2 e09ea5c0 Nov 18 09:43:07 localhost kernel: Call Trace: Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (36) Nov 18 09:43:07 localhost kernel: [up+238/250] up+0xee/0xfa (24) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (32) Nov 18 09:43:07 localhost kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 09:43:07 localhost kernel: [kref_put+62/232] kref_put+0x3e/0xe8 (12) Nov 18 09:43:07 localhost kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 09:43:07 localhost kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 09:43:07 localhost kernel: [pg0+541997089/1068487680] exit_prism2_pccard+0xd/0x25 [hostap_cs] (8) Nov 18 09:43:07 localhost kernel: [sys_delete_module+315/361] sys_delete_module+0x13b/0x169 (12) Nov 18 09:43:07 localhost kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 18 09:43:07 localhost kernel: [do_munmap+272/315] do_munmap+0x110/0x13b (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 09:43:07 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb (12) Nov 18 09:43:07 localhost kernel: --------------------------- Nov 18 09:43:07 localhost kernel: | preempt count: 00000006 ] Nov 18 09:43:07 localhost kernel: | 6-level deep critical section nesting: Nov 18 09:43:07 localhost kernel: ---------------------------------------- Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+311/1236] .... __up_mutex+0x137/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+439/1236] .... __up_mutex+0x1b7/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [die+54/381] .... die+0x36/0x17d Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [print_traces+13/52] .... print_traces+0xd/0x34 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: Nov 18 09:43:07 localhost kernel: Code: c0 e8 f5 b8 fe ff 0f 0b 36 04 3d 1d 3a c0 b8 01 00 00 00 e8 23 15 00 00 8b 45 08 e8 ae 79 fe ff 8b 7d 08 8b 8f 48 06 00 00 89 c3 <8b> 11 0f 18 02 90 8d 87 48 06 00 00 39 c1 74 18 89 c6 8b 41 0c Nov 18 09:43:07 localhost kernel: <6>note: modprobe[22211] exited with preempt_count 4 Nov 18 09:43:07 localhost kernel: BUG: scheduling while atomic: modprobe/0x10000004/22211 Nov 18 09:43:07 localhost kernel: caller is __cond_resched+0x39/0x45 Nov 18 09:43:07 localhost kernel: [__schedule+1439/1519] __sched_text_start+0x59f/0x5ef (8) Nov 18 09:43:07 localhost kernel: [__cond_resched+57/69] __cond_resched+0x39/0x45 (72) Nov 18 09:43:07 localhost kernel: [cond_resched+28/35] cond_resched+0x1c/0x23 (12) Nov 18 09:43:07 localhost kernel: [unmap_vmas+318/359] unmap_vmas+0x13e/0x167 (8) Nov 18 09:43:07 localhost kernel: [exit_mmap+79/274] exit_mmap+0x4f/0x112 (60) Nov 18 09:43:07 localhost kernel: [mmput+66/320] mmput+0x42/0x140 (40) Nov 18 09:43:07 localhost kernel: [do_exit+325/1281] do_exit+0x145/0x501 (24) Nov 18 09:43:07 localhost kernel: [do_divide_error+0/246] do_divide_error+0x0/0xf6 (44) Nov 18 09:43:07 localhost kernel: [do_page_fault+678/1347] do_page_fault+0x2a6/0x543 (64) Nov 18 09:43:07 localhost kernel: [__down_mutex+464/844] __down_mutex+0x1d0/0x34c (148) Nov 18 09:43:07 localhost kernel: [dput+39/665] dput+0x27/0x299 (4) Nov 18 09:43:07 localhost kernel: [do_page_fault+0/1347] do_page_fault+0x0/0x543 (52) Nov 18 09:43:07 localhost kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (44) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (44) Nov 18 09:43:07 localhost kernel: [up+238/250] up+0xee/0xfa (24) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (32) Nov 18 09:43:07 localhost kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 09:43:07 localhost kernel: [kref_put+62/232] kref_put+0x3e/0xe8 (12) Nov 18 09:43:07 localhost kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 09:43:07 localhost kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 09:43:07 localhost kernel: [pg0+541997089/1068487680] exit_prism2_pccard+0xd/0x25 [hostap_cs] (8) Nov 18 09:43:07 localhost kernel: [sys_delete_module+315/361] sys_delete_module+0x13b/0x169 (12) Nov 18 09:43:07 localhost kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 18 09:43:07 localhost kernel: [do_munmap+272/315] do_munmap+0x110/0x13b (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 09:43:07 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb (12) Nov 18 09:43:07 localhost kernel: --------------------------- Nov 18 09:43:07 localhost kernel: | preempt count: 10000005 ] Nov 18 09:43:07 localhost kernel: | 5-level deep critical section nesting: Nov 18 09:43:07 localhost kernel: ---------------------------------------- Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+311/1236] .... __up_mutex+0x137/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+439/1236] .... __up_mutex+0x1b7/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [print_traces+13/52] .... print_traces+0xd/0x34 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: Nov 18 09:43:07 localhost kernel: BUG: scheduling while atomic: modprobe/0x00000004/22211 Nov 18 09:43:07 localhost kernel: caller is do_exit+0x2a1/0x501 Nov 18 09:43:07 localhost kernel: [__schedule+1439/1519] __sched_text_start+0x59f/0x5ef (8) Nov 18 09:43:07 localhost kernel: [do_exit+673/1281] do_exit+0x2a1/0x501 (72) Nov 18 09:43:07 localhost kernel: [do_divide_error+0/246] do_divide_error+0x0/0xf6 (44) Nov 18 09:43:07 localhost kernel: [do_page_fault+678/1347] do_page_fault+0x2a6/0x543 (64) Nov 18 09:43:07 localhost kernel: [__down_mutex+464/844] __down_mutex+0x1d0/0x34c (148) Nov 18 09:43:07 localhost kernel: [dput+39/665] dput+0x27/0x299 (4) Nov 18 09:43:07 localhost kernel: [do_page_fault+0/1347] do_page_fault+0x0/0x543 (52) Nov 18 09:43:07 localhost kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 18 09:43:07 localhost kernel: [__up_mutex+458/1236] __up_mutex+0x1ca/0x4d4 (44) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (44) Nov 18 09:43:07 localhost kernel: [up+238/250] up+0xee/0xfa (24) Nov 18 09:43:07 localhost kernel: [kobject_cleanup+140/142] kobject_cleanup+0x8c/0x8e (32) Nov 18 09:43:07 localhost kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 09:43:07 localhost kernel: [kref_put+62/232] kref_put+0x3e/0xe8 (12) Nov 18 09:43:07 localhost kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 09:43:07 localhost kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 09:43:07 localhost kernel: [pg0+541997089/1068487680] exit_prism2_pccard+0xd/0x25 [hostap_cs] (8) Nov 18 09:43:07 localhost kernel: [sys_delete_module+315/361] sys_delete_module+0x13b/0x169 (12) Nov 18 09:43:07 localhost kernel: [unmap_vma_list+14/23] unmap_vma_list+0xe/0x17 (20) Nov 18 09:43:07 localhost kernel: [do_munmap+272/315] do_munmap+0x110/0x13b (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 09:43:07 localhost kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 09:43:07 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb (12) Nov 18 09:43:07 localhost kernel: --------------------------- Nov 18 09:43:07 localhost kernel: | preempt count: 00000005 ] Nov 18 09:43:07 localhost kernel: | 5-level deep critical section nesting: Nov 18 09:43:07 localhost kernel: ---------------------------------------- Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [task_rq_lock+17/24] .... task_rq_lock+0x11/0x18 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+311/1236] .... __up_mutex+0x137/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [__up_mutex+439/1236] .... __up_mutex+0x1b7/0x4d4 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel: .. [print_traces+13/52] .... print_traces+0xd/0x34 Nov 18 09:43:07 localhost kernel: .....[<00000000>] .. ( <= 0x0) Nov 18 09:43:07 localhost kernel:
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
Quoted 4 lines · Christian Meder
Quoted 3 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 8 lines
Quoted 3 lines
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Hi,
here's another message log this time on my Dell laptop when removing my prism wlan pccard running the hostap driver.
could you try this with the vanilla 2.6.10-rc2-mm1 kernel too? The crash you got is an escallation of a crash within a critical section, but that original crash does not seem to be directly related to PREEMPT_RT.
(also, please enable CONFIG_USE_FRAME_POINTER, to make the backtraces easier to parse.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
Quoted 10 lines · Ingo Molnar
Quoted 8 lines · Christian Meder
Quoted 6 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Quoted 8 lines
Quoted 4 lines
Hi,
here's another message log this time on my Dell laptop when removing my prism wlan pccard running the hostap driver.
could you try this with the vanilla 2.6.10-rc2-mm1 kernel too? The crash you got is an escallation of a crash within a critical section, but that original crash does not seem to be directly related to
PREEMPT_RT.
2.6.10-rc2-mm1 would have been my next try anyway cause otherwise I'd be rather unable to get any work done for my job due to the jvm lockup problem I described in my other mail ;-)
Quoted 2 lines
(also, please enable
CONFIG_USE_FRAME_POINTER, to make the backtraces easier to parse.)
Sure.
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
In reply to Ingo MolnarQuoted 10 lines · Ingo Molnar
Quoted 8 lines · Christian Meder
Quoted 6 lines · Ingo Molnar
i have released the -V0.7.28-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes & latency-reduction release.
Quoted 8 lines
Quoted 4 lines
Hi,
here's another message log this time on my Dell laptop when removing my prism wlan pccard running the hostap driver.
could you try this with the vanilla 2.6.10-rc2-mm1 kernel too? The crash you got is an escallation of a crash within a critical section, but that original crash does not seem to be directly related to
PREEMPT_RT.
Ok, tried it now. The output from 2.6.10-rc2-mm1 on removal of the prism pccard is pretty innocuous and everything works fine:
Nov 18 17:29:27 localhost kernel: hostap_cs: CS_EVENT_CARD_REMOVAL Nov 18 17:29:27 localhost kernel: wifi0: card already removed or not configured during shutdown Nov 18 17:29:27 localhost kernel: wifi0: Interrupt, but dev not OK Nov 18 17:29:27 localhost kernel: hostap_cs: Driver unloaded
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
Quoted 4 lines · Christian Meder
Quoted 3 lines
could you try this with the vanilla 2.6.10-rc2-mm1 kernel too? The crash you got is an escallation of a crash within a critical section, but that original crash does not seem to be directly related to
PREEMPT_RT.
Quoted 8 lines
Ok, tried it now. The output from 2.6.10-rc2-mm1 on removal of the prism pccard is pretty innocuous and everything works fine:
Nov 18 17:29:27 localhost kernel: hostap_cs: CS_EVENT_CARD_REMOVAL Nov 18 17:29:27 localhost kernel: wifi0: card already removed or not configured during shutdown Nov 18 17:29:27 localhost kernel: wifi0: Interrupt, but dev not OK Nov 18 17:29:27 localhost kernel: hostap_cs: Driver unloaded
ok. Could you please retry with the latest kernel and USE_FRAME_POINTERS enabled? It wasnt completely clear from your previous log precisely which function generated the fault so it would be easier for me to sort it out if you could reproduce it once more.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
Quoted 16 lines · Ingo Molnar
Quoted 4 lines · Christian Meder
Quoted 3 lines
could you try this with the vanilla 2.6.10-rc2-mm1 kernel too? The crash you got is an escallation of a crash within a critical section, but that original crash does not seem to be directly related to
PREEMPT_RT.Quoted 8 lines
Ok, tried it now. The output from 2.6.10-rc2-mm1 on removal of the prism pccard is pretty innocuous and everything works fine:
Nov 18 17:29:27 localhost kernel: hostap_cs: CS_EVENT_CARD_REMOVAL Nov 18 17:29:27 localhost kernel: wifi0: card already removed or not configured during shutdown Nov 18 17:29:27 localhost kernel: wifi0: Interrupt, but dev not OK Nov 18 17:29:27 localhost kernel: hostap_cs: Driver unloaded
Quoted 4 lines
ok. Could you please retry with the latest kernel and
USE_FRAME_POINTERSenabled? It wasnt completely clear from your previous log precisely which function generated the fault so it would be easier for me to sort it out if you could reproduce it once more.
That's CONFIG_FRAME_POINTER, btw.
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Ingo Molnari have released the -V0.7.28-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this should fix the lockup bug reported by Florian Schmidt.
there's a generic PREEMPT bug in the upstream kernel: there exists a single-instruction race window in __flush_tlb(), if the kernel preempted exactly there in a lazy-TLB thread and certain other, rare scheduling and MM properties were true as well (a certain constellation of threads and lazy-TLB kernel threads occured), and the lazy-TLB task then got another user TLB to inherit, and switched to a task from which it inherited that new TLB, thus the wrong cr3 was loaded and inherited by this next, non-lazy-TLB next task; then (and only then) this scenario would typically manifest itself in the form of an infinite pagefault lockup occuring much after the fact, upon the next userspace access (to the joy of a totally baffled kernel developer). I suspect from the description you can guess how much fun it was to debug it =B-)
the bug is even more rare in the generic kernel, because there most (but not all) TLB flush points are in a critical section.
this fix could resolve some of the other 'my box just locked up' reports.
Changes since a -V0.7.28-0:
- reverted the UP-ioapic change - it was unrelated to the lockup and it is known to cause problems on certain IDE/soundcard combinations.
- fixed and improved the trace_print_on_crash tracing feature - it was highly needed to find the TLB bug ...
to create a -V0.7.28-1 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm1/2.6.10-rc2-mm1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm1-V0.7.28-1
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 7 lines · On Thu, 18 Nov 2004 13:35:21 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.28-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this should fix the lockup bug reported by Florian Schmidt.
great news! did you find any sleep at all? anyways, built and booted fine. putting load on the system since 15 minutes. If it locks up again, i'll write another mail.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Ingo MolnarQuoted 8 lines · Ingo Molnar
i have released the -V0.7.28-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this should fix the lockup bug reported by Florian Schmidt.
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules. This isn't the same as the lockup I've been reporting lately (that happens on my P4/SMT desktop) but may be remotely related.
Nov 18 12:22:21 lambda kernel: BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Nov 18 12:22:21 lambda kernel: printing eip: Nov 18 12:22:21 lambda kernel: c0129a4b Nov 18 12:22:21 lambda kernel: *pde = 00000000 Nov 18 12:22:21 lambda kernel: Oops: 0000 [#1] Nov 18 12:22:21 lambda kernel: PREEMPT Nov 18 12:22:21 lambda kernel: Modules linked in: realtime commoncap snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore pcmcia yenta_socket pcmcia_core natsemi crc32 loop evdev ohci_hcd usbcore Nov 18 12:22:21 lambda kernel: CPU: 0 Nov 18 12:22:21 lambda kernel: EIP: 0060:[__up_mutex+59/384] Not tainted VLI Nov 18 12:22:21 lambda kernel: EIP: 0060:[<c0129a4b>] Not tainted VLI Nov 18 12:22:21 lambda kernel: EFLAGS: 00010006 (2.6.10-rc2-mm1-RT-V0.7.28-1) Nov 18 12:22:21 lambda kernel: EIP is at __up_mutex+0x3b/0x180 Nov 18 12:22:21 lambda kernel: eax: 00000000 ebx: d70c2000 ecx: de2510d0 edx: 00000063 Nov 18 12:22:21 lambda kernel: esi: de2510d0 edi: e00f2894 ebp: c02fa090 esp: d70c3ef0 Nov 18 12:22:21 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 18 12:22:21 lambda kernel: Process rmmod (pid: 6836, threadinfo=d70c2000 task=dca7ad70) Nov 18 12:22:21 lambda kernel: Stack: 00000282 c0139cdc 00000286 00000282 c01ad4cb 00000000 d70c2000 c0301908 Nov 18 12:22:21 lambda kernel: c02fa080 c02fa090 c012a165 e00f28a4 c01ad4cb e00f28bc c01ad4cd bfffd3f0 Nov 18 12:22:21 lambda kernel: d70c2000 c01adadf e00f28a4 00000000 bfffd3f0 d70c2000 e00f28a4 00000000 Nov 18 12:22:21 lambda kernel: Call Trace: Nov 18 12:22:21 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 18 12:22:21 lambda kernel: [<c0139cdc>] kmem_cache_free+0x4a/0xc7 (8) Nov 18 12:22:21 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 18 12:22:21 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (12) Nov 18 12:22:21 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 18 12:22:21 lambda kernel: [<c012a165>] up+0x35/0x3d (24) Nov 18 12:22:21 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 18 12:22:21 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (8) Nov 18 12:22:21 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 12:22:21 lambda kernel: [<c01ad4cd>] kobject_release+0x0/0x8 (8) Nov 18 12:22:21 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 18 12:22:21 lambda kernel: [<c01adadf>] kref_put+0x51/0xc2 (12) Nov 18 12:22:21 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 12:22:21 lambda kernel: [<c01f3aff>] bus_remove_driver+0x3f/0x48 (36) Nov 18 12:22:21 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 12:22:21 lambda kernel: [<c01f3e98>] driver_unregister+0xb/0x1a (8) Nov 18 12:22:21 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 18 12:22:21 lambda kernel: [<c01b4b10>] pci_unregister_driver+0xb/0x13 (8) Nov 18 12:22:21 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (8) Nov 18 12:22:21 lambda kernel: [<c012c044>] sys_delete_module+0x124/0x130 (8) Nov 18 12:22:21 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 18 12:22:21 lambda kernel: [<c01431b3>] do_munmap+0x11a/0x176 (32) Nov 18 12:22:21 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 12:22:21 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (12) Nov 18 12:22:21 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 12:22:21 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (24) Nov 18 12:22:21 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 18 12:22:21 lambda kernel: [<c01023f1>] sysenter_past_esp+0x52/0x71 (12) Nov 18 12:22:21 lambda kernel: Code: 10 9c 8f 44 24 08 fa 9c 58 b8 00 e0 ff ff 21 e0 83 40 14 01 83 40 14 01 8b 47 08 e8 50 7f fe ff 8b 77 08 89 c2 8b 86 48 05 00 00 <8b> 08 0f 18 01 90 8d 9e 48 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 18 12:22:21 lambda kernel: <6>note: rmmod[6836] exited with preempt_count 3 Nov 18 12:22:21 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/6836 Nov 18 12:22:21 lambda kernel: caller is do_exit+0x2a5/0x4ce Nov 18 12:22:21 lambda kernel: [__schedule+1155/1484] __sched_text_start+0x483/0x5cc (8) Nov 18 12:22:21 lambda kernel: [<c02a6507>] __sched_text_start+0x483/0x5cc (8) Nov 18 12:22:21 lambda kernel: [exit_notify+1154/2281] exit_notify+0x482/0x8e9 (24) Nov 18 12:22:21 lambda kernel: [<c011743a>] exit_notify+0x482/0x8e9 (24) Nov 18 12:22:21 lambda kernel: [do_exit+677/1230] do_exit+0x2a5/0x4ce (56) Nov 18 12:22:21 lambda kernel: [<c0117b46>] do_exit+0x2a5/0x4ce (56) Nov 18 12:22:21 lambda kernel: [do_divide_error+0/320] do_divide_error+0x0/0x140 (48) Nov 18 12:22:21 lambda kernel: [<c01035a9>] do_divide_error+0x0/0x140 (48) Nov 18 12:22:21 lambda kernel: [do_page_fault+865/1341] do_page_fault+0x361/0x53d (64) Nov 18 12:22:21 lambda kernel: [<c010fc18>] do_page_fault+0x361/0x53d (64) Nov 18 12:22:21 lambda kernel: [call_usermodehelper+346/364] call_usermodehelper+0x15a/0x16c (72) Nov 18 12:22:21 lambda kernel: [<c012493e>] call_usermodehelper+0x15a/0x16c (72) Nov 18 12:22:21 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (56) Nov 18 12:22:21 lambda kernel: [<c012479c>] __call_usermodehelper+0x0/0x48 (56) Nov 18 12:22:21 lambda kernel: [__down_mutex+73/322] __down_mutex+0x49/0x142 (16) Nov 18 12:22:21 lambda kernel: [<c02a7600>] __down_mutex+0x49/0x142 (16) Nov 18 12:22:21 lambda kernel: [dput+121/657] dput+0x79/0x291 (4) Nov 18 12:22:21 lambda kernel: [<c0165899>] dput+0x79/0x291 (4) Nov 18 12:22:21 lambda kernel: [kfree+81/237] kfree+0x51/0xed (28) Nov 18 12:22:21 lambda kernel: [<c0139e0e>] kfree+0x51/0xed (28) Nov 18 12:22:21 lambda kernel: [do_page_fault+0/1341] do_page_fault+0x0/0x53d (28) Nov 18 12:22:21 lambda kernel: [<c010f8b7>] do_page_fault+0x0/0x53d (28) Nov 18 12:22:21 lambda kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 18 12:22:21 lambda kernel: [<c0102e57>] error_code+0x2b/0x30 (8) Nov 18 12:22:21 lambda kernel: [locate_fd+56/137] locate_fd+0x38/0x89 (32) Nov 18 12:22:21 lambda kernel: [<c016007b>] locate_fd+0x38/0x89 (32) Nov 18 12:22:21 lambda kernel: [__up_mutex+59/384] __up_mutex+0x3b/0x180 (12) Nov 18 12:22:21 lambda kernel: [<c0129a4b>] __up_mutex+0x3b/0x180 (12) Nov 18 12:22:21 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (16) Nov 18 12:22:21 lambda kernel: [<c0139cdc>] kmem_cache_free+0x4a/0xc7 (16) Nov 18 12:22:21 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 18 12:22:21 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (12) Nov 18 12:22:21 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 18 12:22:21 lambda kernel: [<c012a165>] up+0x35/0x3d (24) Nov 18 12:22:21 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 18 12:22:21 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (8) Nov 18 12:22:21 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 12:22:21 lambda kernel: [<c01ad4cd>] kobject_release+0x0/0x8 (8) Nov 18 12:22:21 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 18 12:22:21 lambda kernel: [<c01adadf>] kref_put+0x51/0xc2 (12) Nov 18 12:22:21 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 12:22:21 lambda kernel: [<c01f3aff>] bus_remove_driver+0x3f/0x48 (36) Nov 18 12:22:21 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 12:22:21 lambda kernel: [<c01f3e98>] driver_unregister+0xb/0x1a (8) Nov 18 12:22:21 lambda kernel: [pci_unregister_driver+11/19] pci_unregister_driver+0xb/0x13 (8) Nov 18 12:22:21 lambda kernel: [<c01b4b10>] pci_unregister_driver+0xb/0x13 (8) Nov 18 12:22:21 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (8) Nov 18 12:22:21 lambda kernel: [<c012c044>] sys_delete_module+0x124/0x130 (8) Nov 18 12:22:21 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 18 12:22:21 lambda kernel: [<c01431b3>] do_munmap+0x11a/0x176 (32) Nov 18 12:22:21 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 12:22:21 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (12) Nov 18 12:22:21 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 12:22:21 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (24) Nov 18 12:22:21 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 18 12:22:21 lambda kernel: [<c01023f1>] sysenter_past_esp+0x52/0x71 (12) Nov 18 12:22:21 lambda kernel: Kernel logging (proc) stopped. Nov 18 12:22:21 lambda kernel: Kernel log daemon terminating. Nov 18 12:22:22 lambda exiting on signal 15
Another one, a couple of times later:
Nov 18 13:21:59 lambda alsa: Shutting down ALSA sound driver (version 1.0.7): Nov 18 13:22:01 lambda kernel: usbcore: deregistering driver snd-usb-usx2y Nov 18 13:22:01 lambda alsa: /etc/rc0.d/K70alsa: line 287: 5700
Segmentation fault /sbin/rmmod echo $line | cut -d ' ' -f 1
Quoted 1 line
/dev/null2>&1
Nov 18 13:22:03 lambda kernel: BUG: Unable to handle kernel paging request at virtual address f39d2483 Nov 18 13:22:03 lambda kernel: printing eip: Nov 18 13:22:03 lambda kernel: c0129a4b Nov 18 13:22:03 lambda kernel: *pde = 00000000 Nov 18 13:22:03 lambda kernel: Oops: 0000 [#1] Nov 18 13:22:03 lambda kernel: PREEMPT Nov 18 13:22:03 lambda kernel: Modules linked in: realtime commoncap snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore prism2_cs p80211 pcmcia pcmcia_core natsemi crc32 loop subfs evdev ohci_hcd usbcore Nov 18 13:22:03 lambda kernel: CPU: 0 Nov 18 13:22:03 lambda kernel: EIP: 0060:[__up_mutex+59/384] Not tainted VLI Nov 18 13:22:03 lambda kernel: EIP: 0060:[<c0129a4b>] Not tainted VLI Nov 18 13:22:03 lambda kernel: EFLAGS: 00010093 (2.6.10-rc2-mm1-RT-V0.7.28-1) Nov 18 13:22:03 lambda kernel: EIP is at __up_mutex+0x3b/0x180 Nov 18 13:22:03 lambda kernel: eax: f39d2483 ebx: deb66000 ecx: deaae1b0 edx: a1a407da Nov 18 13:22:03 lambda kernel: esi: deaae1b0 edi: e010b58c ebp: e00609b0 esp: deb67ee4 Nov 18 13:22:03 lambda kernel: ds: 007b es: 007b ss: 0068 preempt: 00000004 Nov 18 13:22:03 lambda kernel: Process rmmod (pid: 5700, threadinfo=deb66000 task=de5c5450) Nov 18 13:22:03 lambda kernel: Stack: 00000296 c0139cdc 00000286 00000296 c01ad4cb 00000000 deb66000 c0301908 Nov 18 13:22:03 lambda kernel: e00609a0 e00609b0 c012a165 e010b59c c01ad4cb e010b5b4 c01ad4cd bfffd3f0 Nov 18 13:22:03 lambda kernel: deb66000 c01adadf e010b59c 00000000 bfffd3f0 deb66000 e010b59c 00000000 Nov 18 13:22:03 lambda kernel: Call Trace: Nov 18 13:22:03 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (8) Nov 18 13:22:03 lambda kernel: [<c0139cdc>] kmem_cache_free+0x4a/0xc7 (8) Nov 18 13:22:03 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 18 13:22:03 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (12) Nov 18 13:22:03 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 18 13:22:03 lambda kernel: [<c012a165>] up+0x35/0x3d (24) Nov 18 13:22:03 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 18 13:22:03 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (8) Nov 18 13:22:03 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 13:22:03 lambda kernel: [<c01ad4cd>] kobject_release+0x0/0x8 (8) Nov 18 13:22:03 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 18 13:22:03 lambda kernel: [<c01adadf>] kref_put+0x51/0xc2 (12) Nov 18 13:22:03 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 13:22:03 lambda kernel: [<c01f3aff>] bus_remove_driver+0x3f/0x48 (36) Nov 18 13:22:03 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 13:22:03 lambda kernel: [<c01f3e98>] driver_unregister+0xb/0x1a (8) Nov 18 13:22:03 lambda kernel: [pg0+533373460/1069945856] usb_deregister+0x31/0x3f [usbcore] (8) Nov 18 13:22:03 lambda kernel: [<e0047214>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 18 13:22:03 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (20) Nov 18 13:22:03 lambda kernel: [<c012c044>] sys_delete_module+0x124/0x130 (20) Nov 18 13:22:03 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 18 13:22:03 lambda kernel: [<c01431b3>] do_munmap+0x11a/0x176 (32) Nov 18 13:22:03 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 13:22:03 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (12) Nov 18 13:22:03 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 13:22:03 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (24) Nov 18 13:22:03 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 18 13:22:03 lambda kernel: [<c01023f1>] sysenter_past_esp+0x52/0x71 (12) Nov 18 13:22:03 lambda kernel: Code: 10 9c 8f 44 24 08 fa 9c 58 b8 00 e0 ff ff 21 e0 83 40 14 01 83 40 14 01 8b 47 08 e8 50 7f fe ff 8b 77 08 89 c2 8b 86 48 05 00 00 <8b> 08 0f 18 01 90 8d 9e 48 05 00 00 eb 10 8b 40 0c 39 d0 0f 4c Nov 18 13:22:03 lambda kernel: <6>note: rmmod[5700] exited with preempt_count 3 Nov 18 13:22:03 lambda kernel: BUG: scheduling while atomic: rmmod/0x00000003/5700 Nov 18 13:22:03 lambda kernel: caller is do_exit+0x2a5/0x4ce Nov 18 13:22:03 lambda kernel: [__schedule+1155/1484] __sched_text_start+0x483/0x5cc (8) Nov 18 13:22:03 lambda kernel: [<c02a6507>] __sched_text_start+0x483/0x5cc (8) Nov 18 13:22:03 lambda kernel: [exit_notify+1154/2281] exit_notify+0x482/0x8e9 (24) Nov 18 13:22:03 lambda kernel: [<c011743a>] exit_notify+0x482/0x8e9 (24) Nov 18 13:22:03 lambda kernel: [do_exit+677/1230] do_exit+0x2a5/0x4ce (56) Nov 18 13:22:03 lambda kernel: [<c0117b46>] do_exit+0x2a5/0x4ce (56) Nov 18 13:22:03 lambda kernel: [do_divide_error+0/320] do_divide_error+0x0/0x140 (48) Nov 18 13:22:03 lambda kernel: [<c01035a9>] do_divide_error+0x0/0x140 (48) Nov 18 13:22:03 lambda kernel: [do_page_fault+865/1341] do_page_fault+0x361/0x53d (64) Nov 18 13:22:03 lambda kernel: [<c010fc18>] do_page_fault+0x361/0x53d (64) Nov 18 13:22:03 lambda kernel: [call_usermodehelper+346/364] call_usermodehelper+0x15a/0x16c (72) Nov 18 13:22:03 lambda kernel: [<c012493e>] call_usermodehelper+0x15a/0x16c (72) Nov 18 13:22:03 lambda kernel: [__schedule+662/1484] __sched_text_start+0x296/0x5cc (40) Nov 18 13:22:03 lambda kernel: [<c02a631a>] __sched_text_start+0x296/0x5cc (40) Nov 18 13:22:03 lambda kernel: [__call_usermodehelper+0/72] __call_usermodehelper+0x0/0x48 (16) Nov 18 13:22:03 lambda kernel: [<c012479c>] __call_usermodehelper+0x0/0x48 (16) Nov 18 13:22:03 lambda kernel: [__down_mutex+73/322] __down_mutex+0x49/0x142 (16) Nov 18 13:22:03 lambda kernel: [<c02a7600>] __down_mutex+0x49/0x142 (16) Nov 18 13:22:03 lambda kernel: [dput+121/657] dput+0x79/0x291 (4) Nov 18 13:22:03 lambda kernel: [<c0165899>] dput+0x79/0x291 (4) Nov 18 13:22:03 lambda kernel: [kfree+81/237] kfree+0x51/0xed (28) Nov 18 13:22:03 lambda kernel: [<c0139e0e>] kfree+0x51/0xed (28) Nov 18 13:22:03 lambda kernel: [do_page_fault+0/1341] do_page_fault+0x0/0x53d (28) Nov 18 13:22:03 lambda kernel: [<c010f8b7>] do_page_fault+0x0/0x53d (28) Nov 18 13:22:03 lambda kernel: [error_code+43/48] error_code+0x2b/0x30 (8) Nov 18 13:22:03 lambda kernel: [<c0102e57>] error_code+0x2b/0x30 (8) Nov 18 13:22:03 lambda kernel: [locate_fd+56/137] locate_fd+0x38/0x89 (32) Nov 18 13:22:03 lambda kernel: [<c016007b>] locate_fd+0x38/0x89 (32) Nov 18 13:22:03 lambda kernel: [__up_mutex+59/384] __up_mutex+0x3b/0x180 (12) Nov 18 13:22:03 lambda kernel: [<c0129a4b>] __up_mutex+0x3b/0x180 (12) Nov 18 13:22:03 lambda kernel: [kmem_cache_free+74/199] kmem_cache_free+0x4a/0xc7 (16) Nov 18 13:22:03 lambda kernel: [<c0139cdc>] kmem_cache_free+0x4a/0xc7 (16) Nov 18 13:22:03 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (12) Nov 18 13:22:03 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (12) Nov 18 13:22:03 lambda kernel: [up+53/61] up+0x35/0x3d (24) Nov 18 13:22:03 lambda kernel: [<c012a165>] up+0x35/0x3d (24) Nov 18 13:22:03 lambda kernel: [kobject_cleanup+142/144] kobject_cleanup+0x8e/0x90 (8) Nov 18 13:22:03 lambda kernel: [<c01ad4cb>] kobject_cleanup+0x8e/0x90 (8) Nov 18 13:22:03 lambda kernel: [kobject_release+0/8] kobject_release+0x0/0x8 (8) Nov 18 13:22:03 lambda kernel: [<c01ad4cd>] kobject_release+0x0/0x8 (8) Nov 18 13:22:03 lambda kernel: [kref_put+81/194] kref_put+0x51/0xc2 (12) Nov 18 13:22:03 lambda kernel: [<c01adadf>] kref_put+0x51/0xc2 (12) Nov 18 13:22:03 lambda kernel: [bus_remove_driver+63/72] bus_remove_driver+0x3f/0x48 (36) Nov 18 13:22:03 lambda kernel: [<c01f3aff>] bus_remove_driver+0x3f/0x48 (36) Nov 18 13:22:03 lambda kernel: [driver_unregister+11/26] driver_unregister+0xb/0x1a (8) Nov 18 13:22:03 lambda kernel: [<c01f3e98>] driver_unregister+0xb/0x1a (8) Nov 18 13:22:03 lambda kernel: [pg0+533373460/1069945856] usb_deregister+0x31/0x3f [usbcore] (8) Nov 18 13:22:03 lambda kernel: [<e0047214>] usb_deregister+0x31/0x3f [usbcore] (8) Nov 18 13:22:03 lambda kernel: [sys_delete_module+292/304] sys_delete_module+0x124/0x130 (20) Nov 18 13:22:03 lambda kernel: [<c012c044>] sys_delete_module+0x124/0x130 (20) Nov 18 13:22:03 lambda kernel: [do_munmap+282/374] do_munmap+0x11a/0x176 (32) Nov 18 13:22:03 lambda kernel: [<c01431b3>] do_munmap+0x11a/0x176 (32) Nov 18 13:22:03 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (12) Nov 18 13:22:03 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (12) Nov 18 13:22:03 lambda kernel: [sys_munmap+56/69] sys_munmap+0x38/0x45 (24) Nov 18 13:22:03 lambda kernel: [<c0143247>] sys_munmap+0x38/0x45 (24) Nov 18 13:22:03 lambda kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71 (12) Nov 18 13:22:03 lambda kernel: [<c01023f1>] sysenter_past_esp+0x52/0x71 (12) Nov 18 13:22:03 lambda kernel: Kernel logging (proc) stopped. Nov 18 13:22:03 lambda kernel: Kernel log daemon terminating. Nov 18 13:22:04 lambda exiting on signal 15
Bye now.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 4 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules. This isn't the same as the lockup I've been reporting lately (that happens on my P4/SMT desktop) but may be remotely related.
this seems to be quite similar to the module-unload crash Christian Meder reported, and it seems to be a genuine PREEMPT_RT bug. (or an upstream bug that the vanilla kernel ignores silently.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Rui Nuno CapelaQuoted 4 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules. This isn't the same as the lockup I've been reporting lately (that happens on my P4/SMT desktop) but may be remotely related.
could you send me the latest .config of your laptop?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Rui Nuno CapelaQuoted 4 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules. This isn't the same as the lockup I've been reporting lately (that happens on my P4/SMT desktop) but may be remotely related.
could you (and Christian) try the patch below, ontop of a current-ish tree - does the unload crash still occur? (this is an earlier cleanup patch from Thomas Gleixner, but it could fix a real PREEMPT_RT bug in this particular case.)
Ingo
drivers/base/driver.c renamed from drivers/base/driver.c.orig +7 -10
@@ -79,14 +79,13 @@ void put_driver(struct device_driver * d* since most of the things we have to do deal with the bus * structures. * -* The one interesting aspect is that we initialize @drv->unload_sem -* to a locked state here. It will be unlocked when the driver -* reference count reaches 0. +* We init the completion strcut here. When the reference +* count reaches zero, complete() is called from bus_release(). */ int driver_register (struct device_driver * drv) {INIT_LIST_HEAD (&drv->devices); -init_MUTEX_LOCKED (&drv->unload_sem); +init_completion (&drv->unload_done);return bus_add_driver (drv); }
@@ -97,18 +96,16 @@ int driver_register(struct device_driver* * Again, we pass off most of the work to the bus-level call. * -* Though, once that is done, we attempt to take @drv->unload_sem. -* This will block until the driver refcount reaches 0, and it is -* released. Only modular drivers will call this function, and we +* Though, once that is done, we wait until the driver refcount +* reaches 0, and complete() is called in bus_release(). +* Only modular drivers will call this function, and we * have to guarantee that it won't complete, letting the driver * unload until all references are gone. */ -void driver_unregister (struct device_driver * drv) {bus_remove_driver (drv); -down (&drv->unload_sem); -up (&drv->unload_sem); +wait_for_completion (&drv->unload_done); }/**
drivers/base/bus.c renamed from drivers/base/bus.c.orig +1 -1
@@ -65,7 +65,7 @@ static struct sysfs_ops driver_sysfs_opsstatic void driver_release (struct kobject * kobj) {struct device_driver * drv =to_driver (kobj); -up (&drv->unload_sem); +complete (&drv->unload_done); }static struct kobj_type ktype_driver = {
include/linux/device.h renamed from include/linux/device.h.orig +1 -1
@@ -102,7 +102,7 @@ struct device_driver {char * name;struct bus_type * bus; -struct semaphore unload_sem; +struct completion unload_done;struct kobject kobj;struct list_head devices;
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 11 lines · Ingo Molnar
Quoted 4 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules. This isn't the same as the lockup I've been reporting lately (that happens on my P4/SMT desktop) but may be remotely related.
could you (and Christian) try the patch below, ontop of a current-ish tree - does the unload crash still occur? (this is an earlier cleanup patch from Thomas Gleixner, but it could fix a real
PREEMPT_RTbug in this particular case.)
This patch on top of 0.7.29-0 fixes the prism pccard unload crash on my Dell laptop.
This just leaves me with the mysterious traceless jvm related crash. I'll do my best to get a trace ;-)
Thanks,
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 2 lines · Christian Meder
This just leaves me with the mysterious traceless jvm related crash. I'll do my best to get a trace ;-)
it would be equally useful to somehow reproduce the lockup with public software only, and post the precise steps how to reproduce it.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 7 lines · Ingo Molnar
Quoted 2 lines · Christian Meder
This just leaves me with the mysterious traceless jvm related crash. I'll do my best to get a trace ;-)
it would be equally useful to somehow reproduce the lockup with public software only, and post the precise steps how to reproduce it.
Hi Ingo,
after two evenings of experimenting this is the current status (everything based on 0.7.29-0, will try 0.7.30-x during the day):
* the lockup can't be triggered from the console or using a remote session and I really tried to torture the box ;-)
* the real trigger is mouse activity in X
* the other important factor is running the jvm in profiling mode, running without jvm or with the jvm in non-profiling mode leaves the box stable
* I couldn't yet figure out the pattern of java program which is triggering. Not every java program is triggering but at least I found several public available ones. I wrote some small test programs doing simple multithreading but they didn't trigger.
So the simplest setup I found til now is the following:
chris@blue:~$ java -version java version "1.4.1" Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.1-01) Java HotSpot(TM) Client VM (build Blackdown-1.4.1-01, mixed mode) chris@blue:~$ JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Jython 2.1 on java1.4.1 (JIT: null) Type "copyright", "credits" or "license" for more information.
Quoted 1 line
Quoted 1 line
Quoted 1 line
Now moving the mouse around in X will make the box lockup in less than 10 seconds.
I'm not sure if JAVA_OPTIONS is a standard jython feature but at least it's part of the jython-wrapper script of Debian.
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 27 lines · Christian Meder
Hi Ingo,
after two evenings of experimenting this is the current status (everything based on 0.7.29-0, will try 0.7.30-x during the day):
* the lockup can't be triggered from the console or using a remote session and I really tried to torture the box ;-)
* the real trigger is mouse activity in X
* the other important factor is running the jvm in profiling mode, running without jvm or with the jvm in non-profiling mode leaves the box stable
* I couldn't yet figure out the pattern of java program which is triggering. Not every java program is triggering but at least I found several public available ones. I wrote some small test programs doing simple multithreading but they didn't trigger.So the simplest setup I found til now is the following:
chris@blue:~$ java -version java version "1.4.1" Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.1-01) Java HotSpot(TM) Client VM (build Blackdown-1.4.1-01, mixed mode) chris@blue:~$ JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Jython 2.1 on java1.4.1 (JIT: null) Type "copyright", "credits" or "license" for more information.Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 2 lines
Now moving the mouse around in X will make the box lockup in less than 10 seconds.
HotSpot is pretty heavy on VM faulting as well as signal handling, SIGUSR1, during per thread GC safepointing operations to get the current thread ucontext for GC traversal roots. Debugging the HotSpot VM is nearly impossible without heavy unit testing and even that isn't going to push through that almost pure voodoo code easily. I'm a former HotSpot tweeker for the BSDs so I know a thing or two about that particular VM.
Try a small Java app to see if this triggers the same lock ups. Are you pushing it using Swing ?
I'd try pushing an incremental load on it, maybe some rapid object creation and destruction with increasing number of threads.
Also, CC the Sun/Blackdown folks about this. It could very well be some kind of NPTL glue problem triggering.
bill
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 2 lines · Bill Huey
Also, CC the Sun/Blackdown folks about this. It could very well be some kind of NPTL glue problem triggering.
i'd suggest to not yet bother any upstream folks at this point, this could easily be an -RT related bug. Hard kernel lockups are almost always -RT's fault.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Christian MederQuoted 3 lines · Christian Meder
* the other important factor is running the jvm in profiling mode, running without jvm or with the jvm in non-profiling mode leaves the box stable
ah ... CPU profiling i suspect needs SIGPROF, and that is one of the things that i had to disable in -RT. But it seems this disabling wasnt fully correct - could you try the patch i attached, does it change the symptoms?
Quoted 11 lines
So the simplest setup I found til now is the following:
chris@blue:~$ java -version java version "1.4.1" Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.1-01) Java HotSpot(TM) Client VM (build Blackdown-1.4.1-01, mixed mode) chris@blue:~$ JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Jython 2.1 on java1.4.1 (JIT: null) Type "copyright", "credits" or "license" for more information.Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 5 lines
Now moving the mouse around in X will make the box lockup in less than 10 seconds.
I'm not sure if
JAVA_OPTIONSis a standard jython feature but at least it's part of the jython-wrapper script of Debian.
on a FC3 box this gives me:
saturn:~> JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Exception in thread "main" java.lang.NoClassDefFoundError: error:
(i'm getting the same message when purely running 'jython')
i've got:
saturn:~> java -version
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
is my java setup botched perhaps?
Ingo
kernel/sched.c renamed from kernel/sched.c.orig +12 -8
@@ -2354,12 +2354,12 @@ static inline void account_it_virt(strucif (cputime_gt (it_virt, cputime_zero) &&cputime_gt (cputime, cputime_zero)) { -#if 0 if (cputime_ge (cputime, it_virt)) { it_virt =cputime_add (it_virt, p->it_virt_incr); +#if 0 send_sig (SIGVTALRM , p,1 ); - }#endif + } it_virt =cputime_sub (it_virt, cputime); p->it_virt_value = it_virt; }
@@ -2376,12 +2376,12 @@ static void account_it_prof(struct task_if (cputime_gt (it_prof, cputime_zero) &&cputime_gt (cputime, cputime_zero)) { -#if 0 if (cputime_ge (cputime, it_prof)) { it_prof =cputime_add (it_prof, p->it_prof_incr); +#if 0 send_sig (SIGPROF , p,1 ); - }#endif + } it_prof =cputime_sub (it_prof, cputime); p->it_prof_value = it_prof; }
@@ -2395,7 +2395,6 @@ static void account_it_prof(struct task_*/ static void check_rlimit (struct task_struct *p,cputime_t cputime) { -#if 0 cputime_t total, tmp; total =cputime_add (p->utime, p->stime);
@@ -2403,14 +2402,19 @@ static void check_rlimit(struct task_strif (unlikely (cputime_gt (total, tmp))) {/* Send SIGXCPU every second. */ tmp =cputime_sub (total, cputime); -if (cputime_to_secs (tmp) <cputime_to_secs (total)) +if (cputime_to_secs (tmp) <cputime_to_secs (total)) { +#if 0 send_sig (SIGXCPU , p,1 ); +#endif + }/* and SIGKILL when we go over max.. */ tmp =jiffies_to_cputime (p->signal->rlim[RLIMIT_CPU ].rlim_max); -if (cputime_gt (total, tmp)) +if (cputime_gt (total, tmp)) { +#if 0 send_sig (SIGKILL , p,1 ); - }#endif + } + } }/*
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 10 lines · Ingo Molnar
Quoted 3 lines · Christian Meder
* the other important factor is running the jvm in profiling mode, running without jvm or with the jvm in non-profiling mode leaves the box stable
ah ... CPU profiling i suspect needs SIGPROF, and that is one of the things that i had to disable in -RT. But it seems this disabling wasnt fully correct - could you try the patch i attached, does it change the symptoms?
I tried it on top of 0.7.29-0 and it seemed to survive a little bit longer but it doesn't change fundamentally i.e. I've got to wiggle the mouse for maybe 20 seconds instead of 10 before the kernel locks up.
Quoted 25 lines
Quoted 12 lines
So the simplest setup I found til now is the following:
chris@blue:~$ java -version java version "1.4.1" Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.1-01) Java HotSpot(TM) Client VM (build Blackdown-1.4.1-01, mixed mode) chris@blue:~$ JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Jython 2.1 on java1.4.1 (JIT: null) Type "copyright", "credits" or "license" for more information.Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 5 lines
Now moving the mouse around in X will make the box lockup in less than 10 seconds.
I'm not sure if
JAVA_OPTIONSis a standard jython feature but at least it's part of the jython-wrapper script of Debian.on a FC3 box this gives me:
saturn:~> JAVA_OPTIONS=-Xrunhprof:cpu=samples,file=crap.log,depth=3 jython Exception in thread "main" java.lang.NoClassDefFoundError: error:
(i'm getting the same message when purely running 'jython')
Quoted 8 lines
i've got:
saturn:~> java -version
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)is my java setup botched perhaps?
I'd rather guess your jython setup is botched. I'm sending you offlist another simple test case which just involves a simple start of the Jetty servlet container.
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 7 lines · Christian Meder
Quoted 6 lines · Ingo Molnar
Quoted 3 lines · Christian Meder
* the other important factor is running the jvm in profiling mode, running without jvm or with the jvm in non-profiling mode leaves the box stable
Quoted 8 lines
Quoted 4 lines
ah ... CPU profiling i suspect needs SIGPROF, and that is one of the things that i had to disable in -RT. But it seems this disabling wasnt fully correct - could you try the patch i attached, does it change the symptoms?
I tried it on top of 0.7.29-0 and it seemed to survive a little bit longer but it doesn't change fundamentally i.e. I've got to wiggle the mouse for maybe 20 seconds instead of 10 before the kernel locks up.
do you have serial logging (or working netdump) from that box? If yes then you could try the debug_direct_keyboard switch still, and when the lockup happens, do SysRq-P a number of times, and then do a SysRq-D and a SysRq-T and send me any log output that this might produce.
Quoted 5 lines
Quoted 1 line
is my java setup botched perhaps?
I'd rather guess your jython setup is botched. I'm sending you offlist another simple test case which just involves a simple start of the Jetty servlet container.
ok.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Rui Nuno CapelaQuoted 2 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules.
Same thing here (BUG on unload ALSA modules) with 0.7.27-10 FWIW.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 5 lines · Lee Revell
Quoted 2 lines · Rui Nuno Capela
I'm still seeing this sometimes (not everytime) on my P4/UP laptop while shutting down ALSA modules.
Same thing here (BUG on unload ALSA modules) with 0.7.27-10 FWIW.
0.7.29-1 fixes a similar module-unload problem reported by Christian Meder, could you try it?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 5 lines · Ingo Molnar
0.7.29-1 fixes a similar module-unload problem reported by Christian Meder, could you try it?
Ingo
Hi, just tried V0.7.29-1 with the ivtv module and I got this oops:
Attached scsi generic sg2 at scsi0, channel 0, id 2, lun 0, type 0 IRQ#22 thread RT prio: 38.
BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: e0ab77f8 *pde = 00000000 Oops: 0002 [#1] PREEMPT Modules linked in: sg msp3400 saa7115 tveeprom ivtv nfsd exportfs lockd sunrpc tuner tvaudio bttv video_buf firmware_class btcx_risc snd_via82xx snd_mpu401_uart i2c_viapro joydev usbhid uhci_hcd usbcore 3c59x mii emu10k1_gp gameport snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore via_agp agpgart dm_mod realtime rtc CPU: 0 EIP: 0060:[<e0ab77f8>] Not tainted VLI EFLAGS: 00210286 (2.6.10-rc22-V29)
EIP is at buffer_queue+0x38/0x70 [bttv]
eax: de7d4744 ebx: 00000000 ecx: d745c2a0 edx: d745c304
esi: de7d40e8 edi: e0ad34e0 ebp: d2571c34 esp: d2571c24
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process mythbackend (pid: 4071, threadinfo=d2570000 task=d27fb800)
Stack: d2571c34 00200286 00200286 e0ad39dc d2571ec8 e0ab8fb8 de7d4000 d745c2a0
e0ac37b4 00000160 000001e0 00000004 00001c3c e0ad34e0 de7d4010 d27fb800
d2571c78 c01112d0 00000002 d745c2a0 c01dcf75 de7d4000 c01339a1 00200286
Call Trace:
[<c0104093>] show_stack+0x83/0xa0 (28)
[<c010424c>] show_registers+0x16c/0x1d0 (56)
[<c0104447>] die+0xf7/0x190 (64)
[<c0114fb0>] do_page_fault+0x360/0x6b0 (220)
[<c0103cab>] error_code+0x2b/0x30 (76)
[<e0ab8fb8>] bttv_do_ioctl+0x538/0x15f0 [bttv] (660)
[<c0276a4e>] video_usercopy+0x8e/0x160 (168)
[<e0aba0b4>] bttv_ioctl+0x44/0x70 [bttv] (32)
[<c01741a1>] sys_ioctl+0xe1/0x280 (44)
[<c0103245>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c010438f>] .... die+0x3f/0x190
.....[<c0114fb0>] .. ( <= do_page_fault+0x360/0x6b0)
.. [<c0136f4d>] .... print_traces+0x1d/0x60
.....[<c0104093>] .. ( <= show_stack+0x83/0xa0)
Code: eb 9a 65 df 8b 45 08 8b 4d 0c 8b 80 ec 00 00 00 8d 51 64 8b 30 c7 41 20 02 00 00 00 8d 86 5c 06 00 00 8b 58 04 89 41 64 89 50 04 <89> 13 89 5a 04 8b 8e 78 06 00 00 85 c9 74 08 8b 5d f8 8b 75 fc
BUG: mythbackend/4071, BKL held at task exit time!
BKL acquired at: sys_ioctl+0x5e/0x280
[c03b1d44] {kernel_sem.lock}
.. held by: mythbackend: 4071 [d27fb800, 119]
... acquired at: lock_kernel+0x2f/0x50
BUG: mythbackend/4071, lock held at task exit time!
[de7d4014] {&q->lock}
.. held by: mythbackend: 4071 [d27fb800, 119]
... acquired at: bttv_do_ioctl+0x476/0x15f0 [bttv]
BUG: mythbackend/4071, lock held at task exit time!
[e0ad39dc] {&btv->s_lock}
.. held by: mythbackend: 4071 [d27fb800, 119]
... acquired at: bttv_do_ioctl+0x51b/0x15f0 [bttv]
mythbackend/4071: BUG in __up_mutex at kernel/rt.c:1101
[<c01040d3>] dump_stack+0x23/0x30 (20)
[<c01340a2>] __up_mutex+0x302/0x530 (52)
[<c01351b1>] up+0x101/0x110 (36)
[<c0342df1>] __schedule+0x6b1/0x750 (72)
[<c011e797>] do_exit+0x2f7/0x590 (48)
[<c01044e0>] do_trap+0x0/0x100 (64)
[<c0114fb0>] do_page_fault+0x360/0x6b0 (220)
[<c0103cab>] error_code+0x2b/0x30 (76)
[<e0ab8fb8>] bttv_do_ioctl+0x538/0x15f0 [bttv] (660)
[<c0276a4e>] video_usercopy+0x8e/0x160 (168)
[<e0aba0b4>] bttv_ioctl+0x44/0x70 [bttv] (32)
[<c01741a1>] sys_ioctl+0xe1/0x280 (44)
[<c0103245>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c034278f>] .... __schedule+0x4f/0x750
.....[<c011e797>] .. ( <= do_exit+0x2f7/0x590)
.. [<c0135161>] .... up+0xb1/0x110
.....[<c0342df1>] .. ( <= __schedule+0x6b1/0x750)
.. [<c01342b7>] .... __up_mutex+0x517/0x530
.....[<c01351b1>] .. ( <= up+0x101/0x110)
.. [<c0136f4d>] .... print_traces+0x1d/0x60
.....[<c01040d3>] .. ( <= dump_stack+0x23/0x30)
Regards,
Shane
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 9 lines · Shane Shrybman
Quoted 5 lines · Ingo Molnar
0.7.29-1 fixes a similar module-unload problem reported by Christian Meder, could you try it?
Ingo
Hi, just tried V0.7.29-1 with the ivtv module and I got this oops:
hm, does vanilla 2.6.10-rc2-mm2 work?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Ingo MolnarQuoted 20 lines · Ingo Molnar
i have released the -V0.7.28-1 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this should fix the lockup bug reported by Florian Schmidt.
there's a generic PREEMPT bug in the upstream kernel: there exists a single-instruction race window in
__flush_tlb(), if the kernel preempted exactly there in a lazy-TLB thread and certain other, rare scheduling and MM properties were true as well (a certain constellation of threads and lazy-TLB kernel threads occured), and the lazy-TLB task then got another user TLB to inherit, and switched to a task from which it inherited that new TLB, thus the wrong cr3 was loaded and inherited by this next, non-lazy-TLB next task; then (and only then) this scenario would typically manifest itself in the form of an infinite pagefault lockup occuring much after the fact, upon the next userspace access (to the joy of a totally baffled kernel developer). I suspect from the description you can guess how much fun it was to debug it =B-)
Quoted 5 lines
the bug is even more rare in the generic kernel, because there most (but not all) TLB flush points are in a critical section.
this fix could resolve some of the other 'my box just locked up' reports.
Hi,
I've got one of those 'my box just locked up'. I can reproduce it with 0.7.25-1, 0.7.28-0 and 0.7.28-1 by starting the Jetty servlet container with our inhouse java project under a Blackdown 1.4 jdk. Within a minute the laptop just locks up: no mouse, no ping, console switching sysrq-t or anything. The peculiar thing is that I was running 0.7.25-1 for two or three days before and it was rocksolid. It was just when I started to work with the jvm that things fell apart.
Any chance to get any interesting and helpful data in this setup ?
Christian
Signature · 6 lines
Christian Meder, email: [email protected] The Way-Seeking Mind of a tenzo is actualized by rolling up your sleeves. (Eihei Dogen Zenji)
Re: Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
Quoted 4 lines
I've got one of those 'my box just locked up'. I can reproduce it with 0.7.25-1, 0.7.28-0 and 0.7.28-1 by starting the Jetty servlet container with our inhouse java project under a Blackdown 1.4 jdk. Within a minute the laptop just locks up: no mouse, no ping, console switching sysrq-t
Sysrq+T itself might work, it's just a matter to get to the console! If you can get to a con, I'm sure it does, because hitting the keys generates an interrupt which will be delivered to the sysrq code if interrupts are not currently disabled. So even if your box appears totally dead, you'd be surprised when you hit Sysrq+B.
To get any data, I'd start a vnc server on it, and all graphical apps in it, and let the machine itself stay on tty10 (or wherever kernel output goes), and then try hitting Sysrq+T when it hangs.
Jan Engelhardt
Signature · 2 lines
Gesellschaft für Wissenschaftliche Datenverarbeitung Am Fassberg, 37077 Göttingen, www.gwdg.de
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
In reply to Christian MederQuoted 9 lines · Christian Meder
I've got one of those 'my box just locked up'. I can reproduce it with 0.7.25-1, 0.7.28-0 and 0.7.28-1 by starting the Jetty servlet container with our inhouse java project under a Blackdown 1.4 jdk. Within a minute the laptop just locks up: no mouse, no ping, console switching sysrq-t or anything. The peculiar thing is that I was running 0.7.25-1 for two or three days before and it was rocksolid. It was just when I started to work with the jvm that things fell apart.
Any chance to get any interesting and helpful data in this setup ?
best would be to have a reproducer. Can you trigger it over the network, using a remote session? If yes then you might want to try this: let the box boot in, switch it to a text console and dont touch the keyboard after that. Do this over the remote session:
echo 1 > /proc/sys/kernel/debug_direct_keyboard
this activates a direct interrupt line for the keyboard only. Keep the box on the text-console, and try to reproduce the hang over the network. Once it triggers, try SysRq - does it work? (leds wont work, but normal keys should work.)
if the keyboard still doesnt work then you could try nmi_watchdog=1 or nmi_watchdog=2 (the latter on IO-APIC-less systems), and serial logging, to capture a dump of the hard-lockup.
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo Molnari have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a pure merge of -V0.7.28-2 to 2.6.10-rc2-mm2. -rc2-mm2 itself is a fixes-only release.
to create a -V0.7.29-0 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm2/2.6.10-rc2-mm2.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm2-V0.7.29-0
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 1 line · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch,
Hi,
is it supposed to work on x86_64? It doesn't compile. I tried to fix the compilation errors with these 2 one-liners:
arch/x86_64/kernel/time.c 2004-11-18 22:00:57.000000000 +0100 renamed from arch/x86_64/kernel/time.c 2004-11-18 22:16:10.728832816 +0100 +1 -1
@@ -49,7 +49,7 @@ static void cpufreq_delayed_get(void); extern int using_apic_timer; -DEFINE_RAW_SPINLOCK(rtc_lock); +DEFINE_SPINLOCK(rtc_lock); DEFINE_RAW_SPINLOCK(i8253_lock); static int nohpet __initdata = 0;
include/asm-x86_64/vsyscall.h 2004-11-18 21:56:30.000000000 +0100 renamed from include/asm-x86_64/vsyscall.h 2004-11-18 22:16:11.739679144 +0100 +1 -1
@@ -52,7 +52,7 @@ extern struct vxtime_data vxtime; extern unsigned long wall_jiffies; extern struct timezone sys_tz; extern int sysctl_vsyscall; -extern raw_seqlock_t xtime_lock; +//extern raw_seqlock_t xtime_lock; #define ARCH_HAVE_XTIME_LOCK 1
It now compiles. When I try to run it, I get instant reboot after "BIOS data check successful".
This is not necessarily a new issue. I haven't tried running realtime-preempt on x86_64 before.
Michal
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 5 lines · Michal Schmidt
Quoted 1 line · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch,
Hi,
is it supposed to work onx86_64? It doesn't compile.
not at the moment - it needs the timer interrupt threading changes.
Ingo
Steven Rostedt
reviewerRe: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
I'm getting a bug print (really a warning) from enable_irq spawned from the e100 driver. The reason is that enable_irq is being called because the irq depth is zero.
Looking into this, it is because the e100 uses a shared interrupt. On setup (see drivers/net/e100.c: e100_up) it disables the irq that it will use, and then calls request_irq which calls setup_irq which zeros out the depth of the irq if it is not shared. So if the e100 is the first to be loaded, then you get this message.
I know that for now this doesn't hurt anything, but besides annoying me in my print outs (I can't stop panicking when I see it ;-), is this really a bug and thus a design flaw of the e100? How else can a shared irq initialize without turning off the irq before setting itself up?
Should it enable the irq before it requests it, and thus open the race of a spurious interrupt, or just disable all interrupts?
Thanks,
Signature · 3 lines
Steven Rostedt Senior Engineer Kihon Technologies
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 15 lines · Steven Rostedt
I'm getting a bug print (really a warning) from
enable_irqspawned from the e100 driver. The reason is thatenable_irqis being called because the irq depth is zero.Looking into this, it is because the e100 uses a shared interrupt. On setup (see
drivers/net/e100.c:e100_up) it disables the irq that it will use, and then callsrequest_irqwhich callssetup_irqwhich zeros out the depth of the irq if it is not shared. So if the e100 is the first to be loaded, then you get this message.I know that for now this doesn't hurt anything, but besides annoying me in my print outs (I can't stop panicking when I see it ;-), is this really a bug and thus a design flaw of the e100? How else can a shared irq initialize without turning off the irq before setting itself up?
Quoted 5 lines
Should it enable the irq before it requests it, and thus open the race of a spurious interrupt, or just disable all interrupts?
Thanks,
Actually I think it shouldn't call either enable or disable because it is shared (or allowed to be shared). After creating a patch myself to fix this I realized that it had already been fixed in the newest version of the driver on sourceforge. Anyway if you are interested in this fix temporarily, here it is.
kr
drivers/net/e100.c renamed from drivers/net/e100.c.orig +0 -4
@@ -1680,8 +1680,6 @@if ((err =e100_rx_alloc_list (nic)))return err; -disable_irq (nic->pdev->irq); -if ((err =e100_alloc_cbs (nic))) goto err_rx_clean_list;if ((err =e100_hw_init (nic)))
@@ -1693,7 +1691,6 @@ nic->netdev->name, nic->netdev))) goto err_no_irq;e100_enable_irq (nic); -enable_irq (nic->pdev->irq);netif_wake_queue (nic->netdev);return 0 ;
@@ -1704,7 +1701,6 @@ err_rx_clean_list:e100_rx_clean_list (nic); -enable_irq (nic->pdev->irq);return err; }
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 11 lines · K.R. Foley
Quoted 5 lines
Looking into this, it is because the e100 uses a shared interrupt. On setup (see
drivers/net/e100.c:e100_up) it disables the irq that it will use, and then callsrequest_irqwhich callssetup_irqwhich zeros out the depth of the irq if it is not shared. So if the e100 is the first to be loaded, then you get this message.Actually I think it shouldn't call either enable or disable because it is shared (or allowed to be shared). After creating a patch myself to fix this I realized that it had already been fixed in the newest version of the driver on sourceforge. Anyway if you are interested in this fix temporarily, here it is.
i've included this in my tree, will drop it once -mm merges the sourceforge e100 driver.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarHi Ingo,
in 29-4 I get a lot of these lines in my log:
drivers/usb/input/hid-core.c: input irq status -71 received
29-0 didn't do that.
Kind regards,
Signature · 1 line
Peter Zijlstra <[email protected]>
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 7 lines · Peter Zijlstra
Hi Ingo,
in 29-4 I get a lot of these lines in my log:
drivers/usb/input/hid-core.c: input irq status -71 received29-0 didn't do that.
weird. I've attached the diff between -0 and -4 - nothing should affect USB, except perhaps the manage.c bits. Could you try to revert the smaller plaintext patch below, does that solve this problem?
Ingo
kernel/irq/manage.c +1 -3
@@ -509,9 +509,7 @@ static int start_irq_thread(int irq, str* such a case: */ smp_mb (); - -if (desc->status &IRQ_INPROGRESS ) -wake_up_process (desc->thread); +wake_up_process (desc->thread);return 0 ; }
Makefile +1 -1
@@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 10 -EXTRAVERSION =-rc2-mm2-V0.7.29-0 +EXTRAVERSION =-rc2-mm2-V0.7.29-5 NAME=Woozy Numbat # *DOCUMENTATION*
arch/i386/kernel/io_apic.c +1 -1
@@ -1956,7 +1956,7 @@ static void end_level_ioapic_irq(unsigne unmask_IO_APIC_irq(irq); } -#else /* !CONFIG_PREEMPT_HARDIRQS */ +#else /* !CONFIG_PREEMPT_HARDIRQS || !CONFIG_SMP */ static void mask_and_ack_level_ioapic_irq (unsigned int irq) {
drivers/base/bus.c +1 -1
@@ -65,7 +65,7 @@ static struct sysfs_ops driver_sysfs_opsstatic void driver_release (struct kobject * kobj) {struct device_driver * drv =to_driver (kobj); -up (&drv->unload_sem); +complete (&drv->unload_done); }static struct kobj_type ktype_driver = {
drivers/base/driver.c +7 -10
@@ -79,14 +79,13 @@ void put_driver(struct device_driver * d* since most of the things we have to do deal with the bus * structures. * -* The one interesting aspect is that we initialize @drv->unload_sem -* to a locked state here. It will be unlocked when the driver -* reference count reaches 0. +* We init the completion strcut here. When the reference +* count reaches zero, complete() is called from bus_release(). */ int driver_register (struct device_driver * drv) {INIT_LIST_HEAD (&drv->devices); -init_MUTEX_LOCKED (&drv->unload_sem); +init_completion (&drv->unload_done);return bus_add_driver (drv); }
@@ -97,18 +96,16 @@ int driver_register(struct device_driver* * Again, we pass off most of the work to the bus-level call. * -* Though, once that is done, we attempt to take @drv->unload_sem. -* This will block until the driver refcount reaches 0, and it is -* released. Only modular drivers will call this function, and we +* Though, once that is done, we wait until the driver refcount +* reaches 0, and complete() is called in bus_release(). +* Only modular drivers will call this function, and we * have to guarantee that it won't complete, letting the driver * unload until all references are gone. */ -void driver_unregister (struct device_driver * drv) {bus_remove_driver (drv); -down (&drv->unload_sem); -up (&drv->unload_sem); +wait_for_completion (&drv->unload_done); }/**
drivers/media/dvb/dvb-core/dvb_frontend.c +3 -3
@@ -658,7 +658,7 @@ static void dvb_frontend_stop (struct dvprintk ("dvb_frontend_stop: thread PID %d already died\n" , fe->thread_pid);/* make sure the mutex was not held by the thread */ -init_MUTEX (&fe->sem); +sema_init_nocheck (&fe->sem,1 );return ; }
@@ -1127,10 +1127,10 @@ dvb_register_frontend (int (*ioctl) (strmemset (fe,0 ,sizeof (struct dvb_frontend_data )); -init_MUTEX (&fe->sem); +sema_init_nocheck (&fe->sem,1 );init_waitqueue_head (&fe->wait_queue);init_waitqueue_head (&fe->events.wait_queue); -init_MUTEX (&fe->events.sem); +sema_init_nocheck (&fe->events.sem,1 ); fe->events.eventw = fe->events.eventr =0 ; fe->events.overflow =0 ; fe->module = module;
fs/lockd/svc.c +14 -11
@@ -49,7 +49,7 @@ static pid_t nlmsvc_pid;int nlmsvc_grace_period;unsigned long nlmsvc_timeout; -static DECLARE_MUTEX_NOCHECK (lockd_start); +static DECLARE_WAIT_QUEUE_HEAD (lockd_start);static DECLARE_WAIT_QUEUE_HEAD (lockd_exit);/*
@@ -112,7 +112,7 @@ lockd(struct svc_rqst *rqstp)* Let our maker know we're running. */ nlmsvc_pid = current->pid; -up (&lockd_start); +wake_up (&lockd_start);daemonize ("lockd" );
@@ -233,6 +233,7 @@ lockd_up(void)printk (KERN_WARNING "lockd_up: no pid, %d users??\n" , nlmsvc_users); + error = -ENOMEM ; serv =svc_create (&nlmsvc_program,LOCKD_BUFSIZE );if (!serv) {
@@ -261,8 +262,15 @@ lockd_up(void) "lockd_up: create thread failed, error=%d\n", error); goto destroy_and_out; } -down (&lockd_start); - +/* +* Wait for the lockd process to start, but since we're holding +* the lockd semaphore, we can't wait around forever ... +*/ +if (wait_event_interruptible_timeout (lockd_start, + nlmsvc_pid !=0 ,HZ ) <=0 ) { +printk (KERN_WARNING +"lockd_down: lockd failed to start\n" ); + }/* * Note: svc_serv structures have an initial use count of 1, * so we exit through here on both success and failure.
@@ -302,16 +310,12 @@ lockd_down(void)* Wait for the lockd process to exit, but since we're holding * the lockd semaphore, we can't wait around forever ... */ -clear_thread_flag (TIF_SIGPENDING ); -interruptible_sleep_on_timeout (&lockd_exit,HZ ); -if (nlmsvc_pid) { +if (wait_event_interruptible_timeout (lockd_exit, + nlmsvc_pid ==0 ,HZ ) <=0 ) {printk (KERN_WARNING "lockd_down: lockd failed to exit, clearing pid\n" ); nlmsvc_pid =0 ; } -spin_lock_irq (¤t->sighand->siglock); -recalc_sigpending (); -spin_unlock_irq (¤t->sighand->siglock); out:up (&nlmsvc_sema); }
@@ -428,7 +432,6 @@ module_param_call(nlm_tcpport, param_setstatic int __init init_nlm (void ) { -down (&lockd_start);// initialize as locked nlm_sysctl_table =register_sysctl_table (nlm_sysctl_root,0 );return nlm_sysctl_table ?0 : -ENOMEM ; }
include/linux/device.h +1 -1
@@ -102,7 +102,7 @@ struct device_driver {char * name;struct bus_type * bus; -struct semaphore unload_sem; +struct completion unload_done;struct kobject kobj;struct list_head devices;
include/linux/preempt.h +2 -0
@@ -66,6 +66,8 @@ do { \#define preempt_enable () do { } while (0)#define preempt_check_resched () do { } while (0) +#define preempt_schedule_irq () do { } while (0) +#endif #endif /* __LINUX_PREEMPT_H */
kernel/irq/manage.c +1 -3
@@ -509,9 +509,7 @@ static int start_irq_thread(int irq, str* such a case: */ smp_mb (); - -if (desc->status &IRQ_INPROGRESS ) -wake_up_process (desc->thread); +wake_up_process (desc->thread);return 0 ; }
kernel/rt.c +1 -1
@@ -1112,7 +1112,7 @@ static void __up_mutex(struct rt_mutex ** reschedule then do it here without enabling interrupts * again (and lengthening latency): */ -while (need_resched () && !irqs_disabled_flags (flags) && !preempt_count ()) +if (need_resched () && !irqs_disabled_flags (flags) && !preempt_count ())preempt_schedule_irq ();local_irq_restore (flags);/* no need to check for preempt here - we just handled it */
kernel/sched.c +1 -1
@@ -1165,7 +1165,7 @@ out:* reschedule then do it here without enabling interrupts * again (and lengthening latency): */ -while (need_resched () && !irqs_disabled_flags (flags) && !preempt_count ()) +if (need_resched () && !irqs_disabled_flags (flags) && !preempt_count ())preempt_schedule_irq ();local_irq_restore (flags);/* no need to check for preempt here - we just handled it */
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 4 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
I tried this with CONFIG_PREEMPT_VOLUNTARY (which should theoretically work like the earlier VP patches, right?) to test for regressions. The boot process hung after initializing my IDE controller.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 9 lines · On Fri, 19 Nov 2004 22:22:42 -0500 Lee Revell <[email protected]> wrote:
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
I tried this with
CONFIG_PREEMPT_VOLUNTARY(which should theoretically work like the earlier VP patches, right?) to test for regressions. The boot process hung after initializing my IDE controller.
I thought so, too, until ingo set me straight (quote ingo):
here are the different layers of preemption:
- !PREEMPT
- PREEMPT_VOLUNTARY
- PREEMPT
- PREEMPT_RT
each step forward decreases latencies, at the cost of more runtime overhead.
so PREEMPT_VOLUNTARY is not "the" feature anymore, it's "a" feature down the hierarchy. In fact the focus is mostly on PREEMPT_RT now.
quote end..
So with RP kernels, PREEMPT is what gives best latency when full realtime preemption is not an option
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 9 lines · Florian Schmidt
here are the different layers of preemption:
- !PREEMPT
-PREEMPT_VOLUNTARY
- PREEMPT
-PREEMPT_RTeach step forward decreases latencies, at the cost of more runtime overhead.
yes, and here is how they show up in the config:
( ) No Forced Preemption (Server)
( ) Voluntary Kernel Preemption (Desktop) ( ) Preemptible Kernel (Low-Latency Desktop)
(X) Complete Preemption (Real-Time)
measurements are needed to find out how latencies and runtime overhead vary between these levels.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Lee RevellQuoted 9 lines · Lee Revell
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
I tried this with
CONFIG_PREEMPT_VOLUNTARY(which should theoretically work like the earlier VP patches, right?) to test for regressions. The boot process hung after initializing my IDE controller.
which patch did you try? I fixed the 'lower' preemption levels in -V0.7.29-4, earlier kernels are broken.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 6 lines · Ingo Molnar
Quoted 4 lines · Lee Revell
Quoted 3 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 9 lines
Quoted 5 lines
Quoted 1 line
I tried this with
CONFIG_PREEMPT_VOLUNTARY(which should theoretically work like the earlier VP patches, right?) to test for regressions. The boot process hung after initializing my IDE controller.which patch did you try? I fixed the 'lower' preemption levels in -V0.7.29-4, earlier kernels are broken.
This was the version I tried. I will try to provide some more info.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 11 lines · Lee Revell
Quoted 9 lines
Quoted 5 lines
Quoted 1 line
I tried this with
CONFIG_PREEMPT_VOLUNTARY(which should theoretically work like the earlier VP patches, right?) to test for regressions. The boot process hung after initializing my IDE controller.which patch did you try? I fixed the 'lower' preemption levels in -V0.7.29-4, earlier kernels are broken.
This was the version I tried. I will try to provide some more info.
i only tried the !PREEMPT version though - does that one work for you? Also, please send me the .config that produces the failing kernel.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 1 line · Ingo Molnar
i only tried the !PREEMPT version though - does that one work for you?
Not sure, will test. My goal was to see if I could get the stability and low latency of T3 (this is low enough latency for me!) with the new versions.
Quoted 1 line
Also, please send me the .config that produces the failing kernel.
Sent (off-list).
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 10 lines · On Sat, 20 Nov 2004 13:35:44 -0500 Lee Revell <[email protected]> wrote:
Quoted 1 line · Ingo Molnar
i only tried the !PREEMPT version though - does that one work for you?
Not sure, will test. My goal was to see if I could get the stability and low latency of T3 (this is low enough latency for me!) with the new versions.
Quoted 1 line
Also, please send me the .config that produces the failing kernel.
Sent (off-list).
Hi,
29-4 with PREEMPT works very good (jackd at 64 frames: 0 xruns (running for 1h now), soundcard irq unthreaded). Opposed to 29-1 PREEMPT_REALTIME which showed some very weird jackd behaviour (xruns from 10usec to 50msec [!!!]). rtc_wakeup was showing no large jitter for that kernel though, nor did the different traces show anything that might have caused the jackd xruns. And yes, i configured the irq handlers sanely :)
Will build 29-4 PREEMPT_REALTIME now and see how this one behaves.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 8 lines · On Sat, 20 Nov 2004 20:11:55 +0100 Florian Schmidt <[email protected]> wrote:
29-4 with PREEMPT works very good (jackd at 64 frames: 0 xruns (running for 1h now), soundcard irq unthreaded). Opposed to 29-1
PREEMPT_REALTIMEwhich showed some very weird jackd behaviour (xruns from 10usec to 50msec [!!!]).rtc_wakeupwas showing no large jitter for that kernel though, nor did the different traces show anything that might have caused the jackd xruns. And yes, i configured the irq handlers sanely :)Will build 29-4
PREEMPT_REALTIMEnow and see how this one behaves.
Pretty much as bad as 29-1. Sadly i have no idea on how to find out what is causing jackd to act so weird under a PREEMPT_REALTIME kernel. It seems there is some correlation to activity on X. Hiding and showing windows has a certain chance of triggering a large xrun.
Hmm, the max jitter rtc_wakeup shows at 1024hz is around 150us. Which seems a tiny bit large, too, as the rtc histogram shows a max wakeup latency of 16us..
It seems it's not the threaded irq handlers as jackd peformed quite well under 29-4 PREEMPT with the soundcrd irq handler threaded and at high prio (which i forgot to mention in my previous mail).
So i don't really know how to go about this. I suppose i just run PREEMPT kernels instead of PREEMPT_REALTIME. Maybe it's the overhead which is killing jackd performance with PREEMPT_REALTIME, but i don't believe so (50ms? nah!).
flo
P.S.: There's so many variables in this PREEMPT/PREEMPT_REALTIME, handlers threaded/unthreaded. IRQ handler thread priorities. It would probably be cool if we could create some testing procedure which produces results which are comparable. Ideally this procedure would be automated. Any takers?
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 6 lines · Florian Schmidt
Quoted 1 line
Will build 29-4
PREEMPT_REALTIMEnow and see how this one behaves.Pretty much as bad as 29-1. Sadly i have no idea on how to find out what is causing jackd to act so weird under a
PREEMPT_REALTIMEkernel. It seems there is some correlation to activity on X. Hiding and showing windows has a certain chance of triggering a large xrun.
do you have chrt-ed the IRQ#0 thread and the soundcard thread as well?
Quoted 4 lines
So i don't really know how to go about this. I suppose i just run PREEMPT kernels instead of
PREEMPT_REALTIME. Maybe it's the overhead which is killing jackd performance withPREEMPT_REALTIME, but i don't believe so (50ms? nah!).
agreed, no way can 50msec be related to overhead.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 6 lines · Ingo Molnar
Quoted 4 lines
So i don't really know how to go about this. I suppose i just run PREEMPT kernels instead of
PREEMPT_REALTIME. Maybe it's the overhead which is killing jackd performance withPREEMPT_REALTIME, but i don't believe so (50ms? nah!).agreed, no way can 50msec be related to overhead.
there's one exception: if the RT workload is _just_ below 100% CPU utilization, then PREEMPT_RT's overhead could push it above 100% and trigger CPU overload, with big delays. What is the maximum CPU usage during the test, while the system is otherwise idle?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 11 lines · On Sun, 21 Nov 2004 13:45:55 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 6 lines · Florian Schmidt
Quoted 1 line
Will build 29-4
PREEMPT_REALTIMEnow and see how this one behaves.Pretty much as bad as 29-1. Sadly i have no idea on how to find out what is causing jackd to act so weird under a
PREEMPT_REALTIMEkernel. It seems there is some correlation to activity on X. Hiding and showing windows has a certain chance of triggering a large xrun.do you have chrt-ed the IRQ#0 thread and the soundcard thread as well?
yes. I tried the following combinations with PREEMPT_RT:
- IRQ 0 prio 40, IRQ 3 (soundcard) prio 98
- IRQ 0 prio 99, IRQ 3 prio 98
all other IRQ's at prios around 40-50 (default or set explicitly to 40). What is the recommended setting for IRQ 0? I thought in this typical thread-wakeup-by-IRQ scenario the scheduler is "shorted" anyways when an IRQ occurs, so IRQ 0's prio shouldn't really matter.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Florian SchmidtQuoted 1 line · Florian Schmidt
So i don't really know how to go about this. [...]
you could try to use user-triggered tracing to capture a trace of one such longer delay.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 7 lines · On Sun, 21 Nov 2004 13:50:23 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 1 line · Florian Schmidt
So i don't really know how to go about this. [...]
you could try to use user-triggered tracing to capture a trace of one such longer delay.
Ok, will do (searching relevant email).
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Florian SchmidtQuoted 3 lines · Florian Schmidt
Hmm, the max jitter
rtc_wakeupshows at 1024hz is around 150us. Which seems a tiny bit large, too, as the rtc histogram shows a max wakeup latency of 16us..
yep, that's a bit too large too. What type of load does it need to trigger such a 150 usec delay reliably?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 9 lines · Florian Schmidt
Quoted 4 lines
Hmm, the max jitter
rtc_wakeupshows at 1024hz is around 150us. Which seems a tiny bit large, too, as the rtc histogram shows a max wakeup latency of 16us..yep, that's a bit too large too. What type of load does it need to trigger such a 150 usec delay reliably?
on a 2 GHz UP box the worst-case max jitter i can trigger via rtc_wakeup is 11 usecs, using the -5 kernel. The workload i used was 40 parallel copies of LTP plus a few hackbench runs. This is how i started rtc_wakeup:
chrt -f 80 -p pidof 'IRQ 0'
chrt -f 98 -p pidof 'IRQ 8'
cd rtc_wakeup
./rtc_wakeup -f 1024 -t 100000
i.e. IRQ0 is below IRQ8 and the rtc_wakeup threads, but above every other IRQ thread. Here's the histogram of a short (~5 minutes) run:
1 247383
2 34842
3 1488
4 3188
5 125
6 1
so this a 6 usecs max delay measured by /dev/rtc. So on your box, if the max histogram delay was 16 usecs, i'd not expect a worse than ~30 usecs jitter measured by rtc_wakeup. Can you reproduce the 150 usecs jitter with the above IRQ setup?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 5 lines · On Sun, 21 Nov 2004 14:43:54 +0100 Ingo Molnar <[email protected]> wrote:
on a 2 GHz UP box the worst-case max jitter i can trigger via
rtc_wakeupis 11 usecs, using the -5 kernel. The workload i used was 40 parallel copies of LTP plus a few hackbench runs. This is how i startedrtc_wakeup:
Quoted 8 lines
chrt -f 80 -p
pidof 'IRQ 0'
chrt -f 98 -ppidof 'IRQ 8'cd
rtc_wakeup
./rtc_wakeup -f 1024 -t 100000i.e. IRQ0 is below IRQ8 and the
rtc_wakeupthreads, but above every other IRQ thread. Here's the histogram of a short (~5 minutes) run:
Ah, ok, this makes sense.. Will try the same. Btw: one more question wrt the IRQ prios:
Let's assume i have IRQ 0 at 80, my soundcard and the rtc irq both at prio 98 and all others around 40. Now the rtc handler should never get in the way of the soundcard irq if the rtc is simply not used right? And of course, the other way around, too. the soundcard irq should not get in the way of the rtc handler if the soundcard simply is not used and not generating IRQ's?
Quoted 8 lines
1 247383
2 34842
3 1488
4 3188
5 125
6 1
Quoted 4 lines
so this a 6 usecs max delay measured by
/dev/rtc. So on your box, if the max histogram delay was 16 usecs, i'd not expect a worse than ~30 usecs jitter measured byrtc_wakeup. Can you reproduce the 150 usecs jitter with the above IRQ setup?
not yet.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 9 lines · On Sun, 21 Nov 2004 13:54:39 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 3 lines · Florian Schmidt
Hmm, the max jitter
rtc_wakeupshows at 1024hz is around 150us. Which seems a tiny bit large, too, as the rtc histogram shows a max wakeup latency of 16us..yep, that's a bit too large too. What type of load does it need to trigger such a 150 usec delay reliably?
I cannot trigger it reliably yet. :(
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Florian SchmidtQuoted 5 lines · Florian Schmidt
[...] Opposed to 29-1
PREEMPT_REALTIMEwhich showed some very weird jackd behaviour (xruns from 10usec to 50msec [!!!]).rtc_wakeupwas showing no large jitter for that kernel though, nor did the different traces show anything that might have caused the jackd xruns. And yes, i configured the irq handlers sanely :)
i am too seeing constant, periodic xruns coming every 100 millisecs or so. Simply running current Jack CVS via 'jackd -R -p1024 -d alsa' gives tons of periodic xruns. Are you seeing the same?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 3 lines · Ingo Molnar
i am too seeing constant, periodic xruns coming every 100 millisecs or so. Simply running current Jack CVS via 'jackd -R -p1024 -d alsa' gives tons of periodic xruns. Are you seeing the same?
but i'm seeing the same with !PREEMPT too - perhaps something broke in ALSA?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 9 lines · On Sun, 21 Nov 2004 16:18:45 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 3 lines · Ingo Molnar
i am too seeing constant, periodic xruns coming every 100 millisecs or so. Simply running current Jack CVS via 'jackd -R -p1024 -d alsa' gives tons of periodic xruns. Are you seeing the same?
but i'm seeing the same with !PREEMPT too - perhaps something broke in ALSA?
possible. Especially as i see those large xruns with jackd, but nothing comparable with rtc_wakeup. OTOH, just PREEMPT seems to work very fine.
I only tested PREEMPT and PREEMPT_RT yet.
Ah, i use jackd 0.99 from a debian package btw..
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 9 lines · On Sun, 21 Nov 2004 16:12:25 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 5 lines · Florian Schmidt
[...] Opposed to 29-1
PREEMPT_REALTIMEwhich showed some very weird jackd behaviour (xruns from 10usec to 50msec [!!!]).rtc_wakeupwas showing no large jitter for that kernel though, nor did the different traces show anything that might have caused the jackd xruns. And yes, i configured the irq handlers sanely :)
Quoted 3 lines
i am too seeing constant, periodic xruns coming every 100 millisecs or so. Simply running current Jack CVS via 'jackd -R -p1024 -d alsa' gives tons of periodic xruns. Are you seeing the same?
Nope, i don't see those.
- my soundcard doesn't allow periodsizes > 512, so i ran with 512 now
- the xruns are very sporadic. My gnome desktop has a little toolbar thingy which can hide all windows on a click and show em all again on the next click. I _think_ there _might_ be a correlation to rapidly clicking that hide/show all windows thing. But i'm not sure at all since it is not really reproducable.
.config attached (29-4)
Will try 29-5 today (although my time might be limited due to some visitors)
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 3 lines · Ingo Molnar
i only tried the !PREEMPT version though - does that one work for you? Also, please send me the .config that produces the failing kernel.
OK it allows me to set PREEMPT_NONE, PREEMPT_SOFTIRQS, and PREEMPT_HARDIRQS. This should be an illegal combination, right?
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 5 lines · Lee Revell
Quoted 2 lines
i only tried the !PREEMPT version though - does that one work for you? Also, please send me the .config that produces the failing kernel.
OK it allows me to set
PREEMPT_NONE,PREEMPT_SOFTIRQS, andPREEMPT_HARDIRQS. This should be an illegal combination, right?
in theory it should work just fine.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 9 lines · Ingo Molnar
Quoted 5 lines · Lee Revell
Quoted 2 lines
i only tried the !PREEMPT version though - does that one work for you? Also, please send me the .config that produces the failing kernel.
OK it allows me to set
PREEMPT_NONE,PREEMPT_SOFTIRQS, andPREEMPT_HARDIRQS. This should be an illegal combination, right?in theory it should work just fine.
hm, in practice it doesnt work - this is that causes the boot-time hang you saw during PREEMPT_VOLUNTARY. I'll make irq threading depend on PREEMPT, for the time being.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 7 lines · Ingo Molnar
Quoted 5 lines · Ingo Molnar
Quoted 3 lines · Lee Revell
Quoted 2 lines
i only tried the !PREEMPT version though - does that one work for you? Also, please send me the .config that produces the failing kernel.
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
OK it allows me to set
PREEMPT_NONE,PREEMPT_SOFTIRQS, andPREEMPT_HARDIRQS. This should be an illegal combination, right?in theory it should work just fine.
hm, in practice it doesnt work - this is that causes the boot-time hang you saw during
PREEMPT_VOLUNTARY. I'll make irq threading depend on PREEMPT, for the time being.
this change is in the -5 kernel i just uploaded.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 1 line · Ingo Molnar
i only tried the !PREEMPT version though - does that one work for you?
Yup, !PREEMPT works fine. Testing PREEMPT next. So far only PREEMPT_VOLUNTARY fails to boot.
Lee
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-1
Quoted 4 lines · Lee Revell
Quoted 1 line
i only tried the !PREEMPT version though - does that one work for you?
Yup, !PREEMPT works fine. Testing PREEMPT next. So far only
PREEMPT_VOLUNTARYfails to boot.
found a bug that causes !PREEMPT boot failures. The seqlock type was wrong for the !RT case, resulting in a subtle bug:write_seqlock_irqsave() didnt actually disable interrupts. This results in a deadlock scenario in where the timer interrupt interrupts update_times (which runs in softirq context). I've uploaded the -31-1 patch with this fix included to the usual place:
http://redhat.com/~mingo/realtime-preempt/
i'm cycling through the various options, but it's looking good so far, PREEMPT_NONE, PREEMPT_VOLUNTARY and PREEMPT_DESKTOP all booted up fine.
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-2
Quoted 10 lines · Ingo Molnar
Quoted 2 lines
Yup, !PREEMPT works fine. Testing PREEMPT next. So far only
PREEMPT_VOLUNTARYfails to boot.found a bug that causes !PREEMPT boot failures. The seqlock type was wrong for the !RT case, resulting in a subtle bug:
write_seqlock_irqsave()didnt actually disable interrupts. This results in a deadlock scenario in where the timer interrupt interruptsupdate_times(which runs in softirq context). I've uploaded the -31-1 patch with this fix included to the usual place:
Quoted 5 lines
http://redhat.com/~mingo/realtime-preempt/
i'm cycling through the various options, but it's looking good so far,
PREEMPT_NONE,PREEMPT_VOLUNTARYandPREEMPT_DESKTOPall booted up fine.
all variations i tried booted up fine. While fixing the non-RT cases a bug slipped into the PREEMPT_RT branch of seqlock.h though, i fixed that in the -31-2 patch i just uploaded.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
In reply to Ingo MolnarQuoted 3 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
I have some latency test results from -V0.7.29-4 generated using the rtc histograms and realfeel. The test runs were just over an hour under heavy load from stress-kernel. One is from a slower 450 UP system and one is from a 933 SMP system. I will be doing more testing but these are a start.
http://www.cybsft.com/testresults/histograms/up450test1.hist.png
http://www.cybsft.com/testresults/histograms/up450test1.hist.png
kr
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
Quoted 11 lines · K.R. Foley
Quoted 3 lines · Ingo Molnar
i have released the -V0.7.29-0 Real-Time Preemption patch, which can be downloaded from the usual place:
I have some latency test results from -V0.7.29-4 generated using the rtc histograms and realfeel. The test runs were just over an hour under heavy load from stress-kernel. One is from a slower 450 UP system and one is from a 933 SMP system. I will be doing more testing but these are a start.
http://www.cybsft.com/testresults/histograms/up450test1.hist.png
http://www.cybsft.com/testresults/histograms/up450test1.hist.png
OK. I feel stupid. The above URL should be:
http://www.cybsft.com/testresults/histograms/smp933test1.hist.png
kr
PATCH 1/1 Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Ingo Molnari have released the -V0.7.30-2 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
the biggest change in this release are fixes for priority-inheritance bugs uncovered by Esben Nielsen pi_test suite. These bugs could explain some of the jackd-under-load latencies reported.
Changes since -V0.7.29-0:
- priority inheritance handling fixes:
- sort the RT wakees at wakeup time, not at block-time: an RT task might have gotten boosted while it slept.
- fix priority-restoration bug at mutex-release time
- use task_rt() not p->policy to determine whether a task needs PI handling - a SCHED_OTHER task might be boosted to RT prio.
- fix mutex_setprio() bug: queue now-RT tasks to the active array, otherwise expired SCHED_OTHER tasks will not be properly boosted.
- went back to the mask-and-delay method of handling hardirqs on UP-IOAPIC as well. Due to APIC prioritization hardirqs can get delayed by another, unacked hardirq, so the quick method needs more work before it can be used.
- added Thomas Gleixner's semaphore -> completion changes for drv->unload_sem. This fixes the module unload crashes reported by Rui Nuno Capela and Shane Shrybman.
- dvb mutex updates for RT, this fixes the bug reported by Christian Meder.
- e100 fix from K.R. Foley - this should fix the boot-time e100 enable_irq warning.
- NFS lockd mutex RT fixes from Thomas Gleixner - this could fix some of the bugs reported by Bill Huey.
- PREEMPT_VOLUNTARY fixes - this could fix the boot-time hang reported by Lee Revell.
- wake up irq thread upon creation - this solves the 'irq thread only changes priority after first interrupt arrives' anomaly reported.
to create a -V0.7.30-2 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm2/2.6.10-rc2-mm2.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc2-mm2-V0.7.30-2
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 6 lines · On Mon, 22 Nov 2004 01:54:11 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.30-2 Real-Time Preemption patch, which can be downloaded from the usual place:
the biggest change in this release are fixes for priority-inheritance bugs uncovered by Esben Nielsen
pi_testsuite. These bugs could explain some of the jackd-under-load latencies reported.
It seems these large load related xruns are gone :) At least i wasn't able to trigger any during my uptime of 52 min. Will report if i ever see any of those again.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 6 lines · Florian Schmidt
Quoted 2 lines · On Mon, 22 Nov 2004 01:54:11 +0100 Ingo Molnar <[email protected]> wrote:
i have released the -V0.7.30-2 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 7 lines
Quoted 3 lines
the biggest change in this release are fixes for priority-inheritance bugs uncovered by Esben Nielsen
pi_testsuite. These bugs could explain some of the jackd-under-load latencies reported.It seems these large load related xruns are gone :) At least i wasn't able to trigger any during my uptime of 52 min. Will report if i ever see any of those again.
great. I now suspect that some of the xrun problems Rui was observing on -RT kernel could be (positively) affected by these fixes too.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 11 lines · Ingo Molnar
Quoted 8 lines · Florian Schmidt
Quoted 7 lines
i have released the -V0.7.30-2 Real-Time Preemption patch, which can be downloaded from the usual place:
the biggest change in this release are fixes for priority-inheritance bugs uncovered by Esben Nielsen
pi_testsuite. These bugs could explain some of the jackd-under-load latencies reported.
Quoted 7 lines
Quoted 3 lines
It seems these large load related xruns are gone :) At least i wasn't able to trigger any during my uptime of 52 min. Will report if i ever see any of those again.
great. I now suspect that some of the xrun problems Rui was observing on -RT kernel could be (positively) affected by these fixes too.
Just made some test-runs with RT-V0.7.30-2, with my jackd-R + 8*fluidsynth benchmark on my laptop (P4/UP), and the results don't seem to be eligible to the hall of fame, at least when compared with RT-0.7.7 as the ones I last posted here a few weeks ago.
I hate to say this, but the XRUN rate has increased since RT-0.7.7, and the maximum scheduling delay reported by jackd has also degraded to 1000 usecs (was around 600 usecs).
Please note that this is not unique to latest RT-V0.7.30-2, but also applies to each one of the previous iterations I've been testing, only not reported until now. Again, all test conditions were kept the same (hardware, jackd, alsa), only the kernel has changed (obviously).
OTOH, there's another thing: I don't seem to be able to build an initrd image under the latest RT kernels. Something related to the loopback device. When trying to run mkinitrd it stalls, somewhere under this process:
mount -t ext2 /root/tmp/initrd.img /root/tmp/initrd.mnt -o loop
This happens on my laptop (P4/UP, Mandrake 10.1c) but not on my desktop (P4/SMT, SUSE 9.2pro). Speaking of which, the lockups experienced while unloading the ALSA modules seems to be over, at least as far as I could try with RT-V0.7.29-4 (probably not enough yet).
Bye now.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 4 lines · Rui Nuno Capela
Quoted 3 lines
great. I now suspect that some of the xrun problems Rui was observing on -RT kernel could be (positively) affected by these fixes too.
Quoted 8 lines
Just made some test-runs with RT-V0.7.30-2, with my jackd-R + 8*fluidsynth benchmark on my laptop (P4/UP), and the results don't seem to be eligible to the hall of fame, at least when compared with RT-0.7.7 as the ones I last posted here a few weeks ago.
I hate to say this, but the XRUN rate has increased since RT-0.7.7, and the maximum scheduling delay reported by jackd has also degraded to 1000 usecs (was around 600 usecs).
well, life would be too easy if two bugs were fixed at once ;) These were nodebug runs, right? Could you give me a description of the precise commands of how you started jackd and fluidsyth (and their versions) - so that i could try to reproduce & debug your setup. It is certainly a complex scheduling scenario.
(perhaps with a link to the .sf2 and .mid files you used, if they are public - or whether it's fine if i use the VintageDreamsWaves-v2.sf2 sound-fonts that comes with fluidsynth plus a random .mid file from the net?)
Quoted 6 lines
OTOH, there's another thing: I don't seem to be able to build an initrd image under the latest RT kernels. Something related to the loopback device. When trying to run mkinitrd it stalls, somewhere under this process:
mount -t ext2
/root/tmp/initrd.img/root/tmp/initrd.mnt-o loop
Do you know when this started, roughly?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 22 lines · Ingo Molnar
Quoted 4 lines · Rui Nuno Capela
Quoted 3 lines
great. I now suspect that some of the xrun problems Rui was observing on -RT kernel could be (positively) affected by these fixes too.
Quoted 8 lines
Just made some test-runs with RT-V0.7.30-2, with my jackd-R + 8*fluidsynth benchmark on my laptop (P4/UP), and the results don't seem to be eligible to the hall of fame, at least when compared with RT-0.7.7 as the ones I last posted here a few weeks ago.
I hate to say this, but the XRUN rate has increased since RT-0.7.7, and the maximum scheduling delay reported by jackd has also degraded to 1000 usecs (was around 600 usecs).
well, life would be too easy if two bugs were fixed at once ;) These were nodebug runs, right? Could you give me a description of the precise commands of how you started jackd and fluidsyth (and their versions) - so that i could try to reproduce & debug your setup. It is certainly a complex scheduling scenario.
Quoted 5 lines
(perhaps with a link to the .sf2 and .mid files you used, if they are public - or whether it's fine if i use the VintageDreamsWaves-v2.sf2 sound-fonts that comes with fluidsynth plus a random .mid file from the net?)
These are the command-lines of my test suite:
jackd -R -dalsa -dhw:0 -P20 -r44100 -p64 -n2 -S -P & fluidsynth -s -i -a jack -j -o jack.audio.id=fluid1 -o shell.port=9800
ct4mgm.sf2 &
fluidsynth -s -i -a jack -j -o jack.audio.id=fluid2 -o shell.port=9801
ct4mgm.sf2 &
.
.
.
fluidsynth -s -i -a jack -j -o jack.audio.id=fluid8 -o shell.port=9807
ct4mgm.sf2 &
Versions are:
jack 0.99.10cvs
fluidsynth 1.0.5
Quoted 9 lines
Quoted 6 lines
OTOH, there's another thing: I don't seem to be able to build an initrd image under the latest RT kernels. Something related to the loopback device. When trying to run mkinitrd it stalls, somewhere under this process:
mount -t ext2
/root/tmp/initrd.img/root/tmp/initrd.mnt-o loopDo you know when this started, roughly?
Not sure, but the first time I've noticed it was on RT-0.7.29-2 and that was purely by chance. Problem is that I've been building the RT kernels under a non-RT stock kernel, so I can't say how long or when it all started exactly. I remember however that this is a revisited issue, thought.
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 7 lines · Rui Nuno Capela
These are the command-lines of my test suite:
jackd -R -dalsa -dhw:0 -P20 -r44100 -p64 -n2 -S -P & fluidsynth -s -i -a jack -j -o jack.audio.id=fluid1 -o shell.port=9800
ct4mgm.sf2 &
fluidsynth -s -i -a jack -j -o jack.audio.id=fluid2 -o shell.port=9801
ct4mgm.sf2 &
is this enough to generate the xruns in jackd? Shouldnt fluidsynth be given a MIDI file to play back? (if yes, what is the method i should use
- should i give it on the command line?)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 9 lines · Ingo Molnar
Quoted 5 lines
jackd -R -dalsa -dhw:0 -P20 -r44100 -p64 -n2 -S -P & fluidsynth -s -i -a jack -j -o jack.audio.id=fluid1 -o shell.port=9800
ct4mgm.sf2 &
fluidsynth -s -i -a jack -j -o jack.audio.id=fluid2 -o shell.port=9801
ct4mgm.sf2 &is this enough to generate the xruns in jackd? Shouldnt fluidsynth be given a MIDI file to play back? (if yes, what is the method i should use - should i give it on the command line?)
ah, i think i understand: fluidsynth has roughly the same CPU overhead when it is 'silent' (it's generating small static noise in that case), compared to when it's playing a MIDI file - so i should be able to see the xruns if i just run jackd and 8 fluidsynth instances, and then load the box - correct?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 5 lines · Ingo Molnar
ah, i think i understand: fluidsynth has roughly the same CPU overhead when it is 'silent' (it's generating small static noise in that case), compared to when it's playing a MIDI file - so i should be able to see the xruns if i just run jackd and 8 fluidsynth instances, and then load the box - correct?
another question: it seems the fluidsynth threads are running as non-RT threads - they are soft-synthesizing sound that jackd will mix and play. Now, can any delay of these fluidsynth threads (they are non-RT tasks and can get delayed indefinitely) cause an xrun in Jackd, or should it 'only' make the sound more choppy?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Ingo MolnarQuoted 10 lines · On Mon, 22 Nov 2004 14:24:59 +0100 Ingo Molnar <[email protected]> wrote:
Quoted 8 lines
Just made some test-runs with RT-V0.7.30-2, with my jackd-R + 8*fluidsynth benchmark on my laptop (P4/UP), and the results don't seem to be eligible to the hall of fame, at least when compared with RT-0.7.7 as the ones I last posted here a few weeks ago.
I hate to say this, but the XRUN rate has increased since RT-0.7.7, and the maximum scheduling delay reported by jackd has also degraded to 1000 usecs (was around 600 usecs).
well, life would be too easy if two bugs were fixed at once ;)
Hi,
i just wanted to mention that a good share of jack clients have issues themself, doing all kinds of funky stuff in the RT thread which they shouldn't do. Maybe the RP kernel just exposes this misuse in a greater visible way. I don't know if fluidsynth is one of them. We could only find out by code inspection.
Another way to test a more complex scenario than just jackd running with an empty graph (assuming that jackd itself isn't to blame) while avoiding the risk of getting bad data due to insane clients would be to code up an example jackd client that does nothing but putting some load onto the jackd graph but in a strictly RT fashion (no blocking stuff whatsoever).
Attached you probably find the most minimal jack client thinkable that does nothing but copy data from its input to its output port. Its only parameter is the time in seconds it will run (default 60). The jack client name is determined by the PID, so it can be started multiple times (jackd requires a unique name for each client).
compile with
g++ -o jack_test jack_test.cc -ljack
This code can easily be adapted to produce more load (just do some math stuff with the data in the process callback).
It seems jackd has a limitation to 14 clients atm (don't ask me why). The 15th kills jackd ;)
Also i wanted to mention that a good share of ALSA drivers have issues, too, and aren't nessecarily suited to low latency audio work. I don't know how to rule these out except for using the ALSA dummy soundcard driver (which might have its own issues, but it's probably simple enough to work reliable. it just doesn't use any hw IRQ's so it's maybe not a good measure for what we want to test) or to use a soundcard with a proven good driver.
flo
#include <jack/jack.h>
#include <iostream>
#include <sstream>
#include <unistd.h>
jack_client_t *client;jack_port_t *iport;jack_port_t *oport;
int process(jack_nframes_t frames, void *arg) {
// std::cout << "process callback" << std::endl;
jack_default_audio_sample_t *ibuf;
ibuf = (jack_default_audio_sample_t*)jack_port_get_buffer(iport, frames);
jack_default_audio_sample_t *obuf;
obuf = (jack_default_audio_sample_t*)jack_port_get_buffer(oport, frames);
for (jack_nframes_t frame = 0; frame < frames; frame++) {
obuf[frame] = ibuf[frame];
}
return 1;
}int main(int argc, char *argv[]) {
// default = 60 seconds
unsigned int seconds_to_run = 60;
if (argc > 1) {
std::stringstream sec_stream;
sec_stream << argv[1];
sec_stream >> seconds_to_run;
}
std::cout << "seconds to run: " << seconds_to_run << std::endl;
std::stringstream pid_stream;
pid_stream << getpid();
std::cout << "client_new" << std::endl;
client = jack_client_new(pid_stream.str().c_str());
std::cout << "port_register." << std::endl;
iport = jack_port_register(client, "in", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput|JackPortIsTerminal, 0);
oport = jack_port_register(client, "out", JACK_DEFAULT_AUDIO_TYPE, JackPortIsTerminal|JackPortIsOutput, 0);
std::cout << "set_process_callback" << std::endl;
jack_set_process_callback(client, process, 0);
std::cout << "activate" << std::endl;
jack_activate(client);
std::cout << "running" << std::endl;
// while(1) {sleep(1);};
sleep(seconds_to_run);
jack_deactivate(client);
jack_client_close(client);
}Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 13 lines · Florian Schmidt
Quoted 10 lines · Ingo Molnar
Quoted 8 lines
Just made some test-runs with RT-V0.7.30-2, with my jackd-R + 8*fluidsynth benchmark on my laptop (P4/UP), and the results don't seem to be eligible to the hall of fame, at least when compared with RT-0.7.7 as the ones I last posted here a few weeks ago.
I hate to say this, but the XRUN rate has increased since RT-0.7.7, and the maximum scheduling delay reported by jackd has also degraded to 1000 usecs (was around 600 usecs).
well, life would be too easy if two bugs were fixed at once ;)
Quoted 8 lines
Hi,
i just wanted to mention that a good share of jack clients have issues themself, doing all kinds of funky stuff in the RT thread which they shouldn't do. Maybe the RP kernel just exposes this misuse in a greater visible way. I don't know if fluidsynth is one of them. We could only find out by code inspection.
Yes, I know all this, and I warned before that this tests were strictly and specific to the hardware, jackd and fludisynth code which are intentionally kept the same along the several RT kernels that have been issued.
Note that I've kept this consistency to my self, and applies /only/ to my laptop, where the tests are being evaluated. Again, this test-suite of mine has the sole intention to compare the jackd workload performance across kernels, in an almost real softsynth scenario. All kernels tested are built with no debug options, ressembling production ones as far as possible.
For example, these are the results-du-jour, which serves as a straight comparison RT-V0.7.30-2, with the previous posted ones from RT-V0.7.7:
RT-V0.7.7 RT-V0.7.30-2
--------- ------------
XRUN Rate . . . . . . . . . . : 45.6 292.0 /hour
Delay Rate (>spare time) . . : 43.2 265.3 /hour
Delay Rate (>1000 usecs) . . : 3.6 29.3 /hour
Delay Maximum . . . . . . . . : 1249 1045 usecs
Cycle Maximum . . . . . . . . : 946 1127 usecs
Average DSP Load. . . . . . . : 55.2 60.1 %
Average CPU System Load . . . : 13.2 15.5 %
Average CPU User Load . . . . : 41.9 46.2 %
Average CPU Nice Load . . . . : 0.0 0.0 %
Average CPU I/O Wait Load . . : 0.1 0.1 %
Average CPU IRQ Load . . . . : 0.0 0.0 %
Average CPU Soft-IRQ Load . . : 0.0 0.0 %
Average Interrupt Rate . . . : 1675.4 1673.8 /sec
Average Context-Switch Rate . : 13940.9 14894.7 /secThe only thing that has changed here was the kernel image, as everything else has remained constant.
Quoted 14 lines
Another way to test a more complex scenario than just jackd running with an empty graph (assuming that jackd itself isn't to blame) while avoiding the risk of getting bad data due to insane clients would be to code up an example jackd client that does nothing but putting some load onto the jackd graph but in a strictly RT fashion (no blocking stuff whatsoever).
Attached you probably find the most minimal jack client thinkable that does nothing but copy data from its input to its output port. Its only parameter is the time in seconds it will run (default 60). The jack client name is determined by the PID, so it can be started multiple times (jackd requires a unique name for each client).
compile with
Quoted 8 lines
g++ -o
jack_testjack_test.cc -ljackThis code can easily be adapted to produce more load (just do some math stuff with the data in the process callback).
It seems jackd has a limitation to 14 clients atm (don't ask me why). The 15th kills jackd ;)
So true.
Quoted 8 lines
Also i wanted to mention that a good share of ALSA drivers have issues, too, and aren't nessecarily suited to low latency audio work. I don't know how to rule these out except for using the ALSA dummy soundcard driver (which might have its own issues, but it's probably simple enough to work reliable. it just doesn't use any hw IRQ's so it's maybe not a good measure for what we want to test) or to use a soundcard with a proven good driver.
Of course, and the "reference" driver used on my tests is no exception (snd-ali5451). But again, it's been kept the same on all tests, and the improvement along the progression of the RT kernel development has been outstanding nevertheless.
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 4 lines · Rui Nuno Capela
Yes, I know all this, and I warned before that this tests were strictly and specific to the hardware, jackd and fludisynth code which are intentionally kept the same along the several RT kernels that have been issued.
i'm aware of this - and i'm perfectly happy about all the testing that is done, even if a latency problem in the end it turns out to be some 'side issue', an application or configuration bug. You are doing very useful QA no matter what the problem turns out to be in the end.
when fixing stuff i tend to go from the simpler testcases to the more complex ones (it's naturally simpler to validate the simpler ones), but currently all the simple ones are working fine, so i'm looking at more complex ones again.
Having said that, (not in small part based on the care you are taking to keep your test environment consistent) it very much looks like as if the latency problems you are reporting are related to -RT itself. It could easily be something else, but as usual, there's only one way to find out
...
anyway, dont worry about presenting me with some problem that in the end turns out to be something else. As Florian's jackd-xrun report from two days ago has proven, jackd is still triggering genuine -RT bugs that none of the simple workloads/apps are triggering. Less than one day after half a dozen such latency bugs were fixed in the -RT patchset i have no basis to go and blame Jackd or ALSA for any of the remaining latency problems =B-)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Rui Nuno CapelaQuoted 5 lines · Rui Nuno Capela
Quoted 3 lines
It seems jackd has a limitation to 14 clients atm (don't ask me why). The 15th kills jackd ;)
So true.
is there any fix for that? Loading 14 jack_test clients only uses up ~33% of CPU time on my testbox. Or should it be possible for me to trigger xruns using so many clients and 33% CPU utilization already?
Could you perhaps try 14 instances of jack_test on your box, and see whether you can generate similar xruns as you could generate with fluidsynth? jack_test should certainly exclude as much jack-client side complexity as possible.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 15 lines
Ingo Molnar
Quoted 6 lines · Rui Nuno Capela
Quoted 1 line
It seems jackd has a limitation to 14 clients atm (don't ask me why).
The
Quoted 2 lines
15th kills jackd ;)
So true.
is there any fix for that? Loading 14
jack_testclients only uses up ~33% of CPU time on my testbox. Or should it be possible for me to trigger xruns using so many clients and 33% CPU utilization already?
Quoted 7 lines
Could you perhaps try 14 instances of
jack_teston your box, and see whether you can generate similar xruns as you could generate with fluidsynth?jack_testshould certainly exclude as much jack-client side complexity as possible.Ingo
OK. I tried 14 instances of jack_test. I even modded Florian's original source code, to let each client instance have 4 ins and 4 outs, and to make things a litle bit heavier, all 4 inputs are mixed into each of the 4 outputs.
Saw at least a couple of XRUNs in a 20 (4*5) minute test-run. CPU load doesn't get above 30% on my laptop (P4/UP 2.533Ghz).
On attach you may find my "4-multiplex" version of jack_test(.cpp), along with the jack_test3.sh shell script which has been used for my test runs.
There's also a modified version of nmeter(.c) that served the purpose to log system performance counters (CPU usage, IRQs and Context Switch rate).
Bye.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 7 lines · Rui Nuno Capela
OK. I tried 14 instances of
jack_test. I even modded Florian's original source code, to let each client instance have 4 ins and 4 outs, and to make things a litle bit heavier, all 4 inputs are mixed into each of the 4 outputs.Saw at least a couple of XRUNs in a 20 (4*5) minute test-run. CPU load doesn't get above 30% on my laptop (P4/UP 2.533Ghz).
the max CPU load i get here is 46% (your laptop is faster), but no xruns. The result of a 5-minute run is:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 0 usecs Cycle Maximum . . . . . . . . : 1016 usecs Average DSP Load. . . . . . . : 46.4 % Average CPU System Load . . . : 40.5 % Average CPU User Load . . . . : 2.3 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Average Interrupt Rate . . . : 2374.1 /sec
Average Context-Switch Rate . : 19172.8 /sec
i suspect i need to activate some option/define in jackd to get some of the more advanced stats such as delay-maximum?
the kernel i used was -30-6 and i used the snd-via82xx driver. (I had to do -n3 instead of -n2 when starting up jackd - otherwise i'd get an endless stream of very small xruns, apparently a via82xx driver bug?)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 17 lines · Ingo Molnar
the max CPU load i get here is 46% (your laptop is faster), but no xruns. The result of a 5-minute run is:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 0 usecs Cycle Maximum . . . . . . . . : 1016 usecs Average DSP Load. . . . . . . : 46.4 % Average CPU System Load . . . : 40.5 % Average CPU User Load . . . . : 2.3 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Quoted 2 lines
Average Interrupt Rate . . . : 2374.1 /sec
Average Context-Switch Rate . : 19172.8 /sec
here are the settings i used:
JACKD_PRIO=20
JACKD_RATE=44100
JACKD_PERIOD=64
JACKD_SECONDS=300
CLIENT_MAX=14
jackd 0.99.0
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
another test on the same system, this time completely idle:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 0 usecs Cycle Maximum . . . . . . . . : 724 usecs Average DSP Load. . . . . . . : 32.1 % Average CPU System Load . . . : 30.8 % Average CPU User Load . . . . : 1.6 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Average Interrupt Rate . . . : 1669.0 /sec
Average Context-Switch Rate . : 16975.4 /sec
*********************************************
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 1 line · Ingo Molnar
another test on the same system, this time completely idle:
ah ... used the jack_test.cc client instead of your new jack_test.cpp.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 6 lines · Ingo Molnar
Quoted 1 line · Ingo Molnar
another test on the same system, this time completely idle:
ah ... used the jack_test.cc client instead of your new jack_test.cpp.
no big difference in the results though:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 0 usecs Cycle Maximum . . . . . . . . : 582 usecs Average DSP Load. . . . . . . : 30.7 % Average CPU System Load . . . : 22.1 % Average CPU User Load . . . . : 8.7 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.1 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Average Interrupt Rate . . . : 1676.5 /sec
Average Context-Switch Rate . : 17020.5 /sec
*********************************************
(i turned off some debugging options in the kernel, hence the small latency improvement.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Ingo MolnarQuoted 3 lines
Saw at least a couple of XRUNs in a 20 (4*5) minute test-run. CPU load doesn't get above 30% on my laptop (P4/UP 2.533Ghz).
i'm wondering, do you get any xruns (or other bad behavior) if you use the dummy ALSA driver for the latency test?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Ingo MolnarQuoted 18 lines · Ingo Molnar
the max CPU load i get here is 46% (your laptop is faster), but no xruns. The result of a 5-minute run is:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 0 usecs Cycle Maximum . . . . . . . . : 1016 usecs Average DSP Load. . . . . . . : 46.4 % Average CPU System Load . . . : 40.5 % Average CPU User Load . . . . : 2.3 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Quoted 6 lines
Average Interrupt Rate . . . : 2374.1 /sec
Average Context-Switch Rate . : 19172.8 /seci suspect i need to activate some option/define in jackd to get some of the more advanced stats such as delay-maximum?
Yes, there's a non-official patch to jackd from Lee Revell's. Without that you don't get to read the maximum delay from jackd. Sorry. But if you have the patience to rebuild jack, here comes attached the minimal patch for just that.
Seeya.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 4 lines · Rui Nuno Capela
Yes, there's a non-official patch to jackd from Lee Revell's. Without that you don't get to read the maximum delay from jackd. Sorry. But if you have the patience to rebuild jack, here comes attached the minimal patch for just that.
thx, it applied cleanly to jack-cvs. Here's the 5-minute idle-system test again:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 28 usecs Cycle Maximum . . . . . . . . : 414 usecs Average DSP Load. . . . . . . : 20.6 % Average CPU System Load . . . : 11.6 % Average CPU User Load . . . . : 8.6 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Average Interrupt Rate . . . : 1671.7 /sec
Average Context-Switch Rate . : 17003.1 /sec
*********************************************
but i can reproduce xruns on another, much slower box, using just 3-4 jack_test clients. The xruns dont seem to be justified, they happen at 30-40% CPU utilization already.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 25 lines · Ingo Molnar
Quoted 4 lines · Rui Nuno Capela
Yes, there's a non-official patch to jackd from Lee Revell's. Without that you don't get to read the maximum delay from jackd. Sorry. But if you have the patience to rebuild jack, here comes attached the minimal patch for just that.
thx, it applied cleanly to jack-cvs. Here's the 5-minute idle-system test again:
************* SUMMARY RESULT ****************
Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 28 usecs Cycle Maximum . . . . . . . . : 414 usecs Average DSP Load. . . . . . . : 20.6 % Average CPU System Load . . . : 11.6 % Average CPU User Load . . . . : 8.6 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.0 % Average CPU IRQ Load . . . . : 0.0 % Average CPU Soft-IRQ Load . . : 0.0 %
Quoted 8 lines
Average Interrupt Rate . . . : 1671.7 /sec
Average Context-Switch Rate . : 17003.1 /sec
*********************************************but i can reproduce xruns on another, much slower box, using just 3-4
jack_testclients. The xruns dont seem to be justified, they happen at 30-40% CPU utilization already.
Now that you're liking, here goes a more contained jackd test-suite (see attached tarball, jackd_test3.1.tar.gz).
Just launch the provided shell script, from the command line as:
./jack_test3_run.sh [secs] [clients] [ports]
where:
secs - number of seconds to run jackd workload (default = 300)
clients - number of test-clients to run (default = 14)
ports - number of interface ports per client (default = 4)
As before, each client (jack_test3_client) registers the same number of input and output ports (default is 4ins x 4outs), where each output is the audio mix of all inputs.
Note that you can breakup the 14 client barrier, as that limit seems to be related to the maximum number of client ports jackd can handle by default (128). The jack_test_run.sh script sets this jackd maximum port limit number as it sees fit, so any number of clients greater than 14 is allowed, provided there's enough CPU and/or RAM ;)
Now, with the default workload (14 clients * 4 * 4 ports) I'm reaching 60% of CPU, and a "fair" number of XRUNs on my [email protected] laptop, against the on-board alsa driver (snd-ali5451), while under RT-V0.7.30-2.
Each test run produces a kernel-timestamped log filename with the complete captured stdout/err. Consolidated results can be produced by feeding several of those logfiles into the jack_test3_consolidated.awk script, just like this:
cat *.log | awk -f jack_test3_consolidated.awk
Enjoy.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 3 lines · Rui Nuno Capela
Now, with the default workload (14 clients * 4 * 4 ports) I'm reaching 60% of CPU, and a "fair" number of XRUNs on my [email protected] laptop, against the on-board alsa driver (snd-ali5451), while under RT-V0.7.30-2.
it would be very interesting to see how the new -30-9 kernel performs using your workload (both fluidsynth and jackd_test), whether your xruns are impacted by the fifo fix, and/or whether there are any other large xrun sources left.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Rui Nuno CapelaQuoted 4 lines · Rui Nuno Capela
OK. I tried 14 instances of
jack_test. I even modded Florian's original source code, to let each client instance have 4 ins and 4 outs, and to make things a litle bit heavier, all 4 inputs are mixed into each of the 4 outputs.
i tried your new test-client, and i've got a generic question: should a jack client be able to generate an xrun via, other than via overloading jackd? E.g. i'm wondering about the following behavior: if start up jackd in the usual way:
jackd -R -P20 -dalsa -dhw:0 -r44100 -p64 -n2 -S -P
and then i start a single test-client (jack_test.cpp):
# ./jack_test seconds to run: 60 client_new: jack_test-4215 port_register set_process_callback activate running
and then if i now Ctrl-Z the Jack client, i get an immediate xrun message from jackd:
**** alsa_pcm: xrun of at least 2.119 msecs
and when i 'fg' the client again then jackd sees a big delay:
**** alsa_pcm: xrun of at least 742.064 msecs
corresponding the amount of time i waited between the Ctrl-Z and the 'fg'.
since the client runs as SCHED_OTHER, doesnt this mean that simple delays between SCHED_OTHER tasks could cause xruns in jackd too? A SCHED_OTHER task can be delayed indefinitely at any stage. So shouldnt the test-clients have RT priority as well, to guarantee xrun-less jackd?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 6 lines
since the client runs as
SCHED_OTHER, doesnt this mean that simple delays betweenSCHED_OTHERtasks could cause xruns in jackd too? ASCHED_OTHERtask can be delayed indefinitely at any stage. So shouldnt the test-clients have RT priority as well, to guarantee xrun-less jackd?
if SCHED_OTHER is the goal, then the xruns you are seeing in the fluidsynth test are likely the result of random fluctuations in scheduling of SCHED_OTHER tasks.
The way to find out whether that's the main source of xruns would be the following test: start each fluidsynth instance as "nice -19 fluidsynth ..." to renice it to +19. Nice +19 gives the smoothest timeslices to CPU-bound tasks (such as fluidsynth), and should give the smallest global fluctuations. (The system must be idle during the test of course, a nice +19 task is easily preempted.)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Ingo MolnarQuoted 4 lines · On Tue, 23 Nov 2004 15:46:22 +0100 Ingo Molnar <[email protected]> wrote:
i tried your new test-client, and i've got a generic question: should a jack client be able to generate an xrun via, other than via overloading jackd? E.g. i'm wondering about the following behavior: if start up jackd in the usual way:
The process() callback in a jackd client is run in a thread created by libjack. This thread is run with SCHED_FIFO and at the same priority (or one lower it seems) as the jackd server. Thus a client can only cause an xrun when it takes a too long time to return from its process callback.
~$ ps -C jackd -cmL
PID LWP CLS PRI TTY TIME CMD
975 - - - ? 00:00:00 jackd
- 975 TS 19 - 00:00:00 -
- 976 TS 23 - 00:00:00 -
- 977 FF 110 - 00:00:00 -
- 978 FF 100 - 00:00:00 -~$ ps -C jack_test -cmL
PID LWP CLS PRI TTY TIME CMD
988 - - - pts/1 00:00:00 jack_test
- 988 TS 20 - 00:00:00 -
- 989 FF 99 - 00:00:00 -So when you ctrl-z out of jack_test you cause its process() thread to be suspended, too, thus jackd cannot finish processing its graph.
flo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
Quoted 2 lines · Florian Schmidt
So when you ctrl-z out of
jack_testyou cause itsprocess()thread to be suspended, too, thus jackd cannot finish processing its graph.
ok, that makes sense. So under what priority does most of the CPU-intense processing run in the test client? SCHED_OTHER or SCHED_FIFO?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
In reply to Florian SchmidtQuoted 8 lines · Florian Schmidt
~$ ps -C
jack_test-cmL
PID LWP CLS PRI TTY TIME CMD988 - - - pts/1 00:00:00 jack_test - 988 TS 20 - 00:00:00 - - 989 FF 99 - 00:00:00 -So when you ctrl-z out of
jack_testyou cause itsprocess()thread to be suspended, too, thus jackd cannot finish processing its graph.
so in theory any scheduling delay of PID 988 in the above setup (the SCHED_OTHER task) should not be able to negatively influence jackd, correct? In fact, does in this particular jack_test case PID 988 do anything substantial?
Ingo