Real-Time Preemption, -RT-2.6.12-rc4-V0.7.47-06
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc4-V0.7.47-06
i have released the -V0.7.47-06 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
there was more stabilization activity during the past couple of weeks - i think i have all pending patches applied, let me know if something went MIA. I've also applied Mingming's ext3 reservation latency reductions.
Changes:
- more plist fixes (Daniel Walker)
- SMP global-RT-reschedule fix (Steven Rostedt)
- x86_64 fixes - it builds & boots now (Joe King)
- ext3 reservations latency reductions (Mingming Cao)
- kstopmachine yield() fixes (Steven Rostedt)
- ksoftirqd init fix (George Anzinger)
- removed yield() uses from coredumping (suggested by many)
to build a -V0.7.47-06 tree, the following patches have to be applied:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc4.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc4-V0.7.47-06
Ingo
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.47-06 Real-Time Preemption patch, which can be downloaded from the usual place:
Cannot generate correctly for i686 :
--- linux/Makefile.orig
+++ linux/Makefile
...
@@ -190,8 +190,8 @@ SUBARCH := $(shell uname -m | sed -e s/i
# Default value for CROSS_COMPILE is not to prefix executables # Note: Some architectures assign CROSS_COMPILE in theirarch/*/Makefile
-ARCH ?= $(SUBARCH)
-CROSS_COMPILE ?=
+ARCH = x86_64 <====
+CROSS_COMPILE = x86_64-linux- <====
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
...
Quoted 7 lines · Serge Noiraud
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.47-06 Real-Time Preemption patch, which can be downloaded from the usual place:
Cannot generate correctly for i686 :
i've uploaded -07, does it work now?
Ingo
Quoted 7 lines · Ingo Molnar
Quoted 4 lines · Serge Noiraud
Quoted 2 lines · Ingo Molnar
i have released the -V0.7.47-06 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Cannot generate correctly for i686 :
i've uploaded -07, does it work now?
Ingo
Ingo,
This one oopses on my dual P4 Xeon system before getting booted. I will dig into this when I get a free minute. I am knee deep in different alligators at the moment.
Signature · 1 line
kr
Quoted 22 lines · Ingo Molnar
i have released the -V0.7.47-06 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
there was more stabilization activity during the past couple of weeks - i think i have all pending patches applied, let me know if something went MIA. I've also applied Mingming's ext3 reservation latency reductions.
Changes:
- more plist fixes (Daniel Walker)
- SMP global-RT-reschedule fix (Steven Rostedt)
-
x86_64fixes - it builds & boots now (Joe King)- ext3 reservations latency reductions (Mingming Cao)
- kstopmachine
yield()fixes (Steven Rostedt)- ksoftirqd init fix (George Anzinger)
- removed
yield()uses from coredumping (suggested by many)
Quoted 8 lines
to build a -V0.7.47-06 tree, the following patches have to be applied:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2 http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc4.bz2 http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc4-V0.7.47-06 Ingo-
Ingo,
I did finally get to capture the log of -RT-2.6.12-rc4-V0.7.47-08 dying when booting. I have attached the log and the config. This is on dual 2.6G Xeon with ht and smp enabled, 512M and IDE. What else can I do (in between alligators)? Output from lspci:
[aaektkf@swdev14 ~]$ lspci
00:00.0 Host bridge: Intel Corp. E7505 Memory Controller Hub (rev 03)
00:00.1 Class ff00: Intel Corp. E7505/E7205 Series RAS Controller (rev 03)
00:01.0 PCI bridge: Intel Corp. E7505/E7205 PCI-to-AGP Bridge (rev 03)
00:02.0 PCI bridge: Intel Corp. E7505 Hub Interface B PCI-to-PCI Bridge (rev 03) 00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02) 00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corp. 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corp. 82801DB (ICH4) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3) 02:1c.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 03)
02:1d.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 03)
02:1e.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 03)
02:1f.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 03)
04:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5702X Gigabit Ethernet (rev 02) 05:01.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78) [aaektkf@swdev14 ~]$
Signature · 1 line
kr
Linux version 2.6.12-rc4-RT-V0.7.47-08 ([email protected]) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)) #9 SMP Tue May 24 09:50:14 CDT 2005 BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001ff70000 (usable)
BIOS-e820: 000000001ff70000 - 000000001ff77000 (ACPI data)
BIOS-e820: 000000001ff77000 - 000000001ff80000 (ACPI NVS)
BIOS-e820: 000000001ff80000 - 0000000020000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ff800000 - 00000000ffc00000 (reserved)
BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
511MB LOWMEM available.
found SMP MP-table at 000f6b00
DMI present.
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:2 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x06] enabled)
Processor #6 15:2 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:2 APIC version 20
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x07] enabled)
Processor #7 15:2 APIC version 20
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
Using ACPI for processor (LAPIC) configuration information
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: Product ID: PLACER CRB APIC at: 0xFEE00000
I/O APIC #2 Version 32 at 0xFEC00000.
I/O APIC #3 Version 32 at 0xFEC80000.
I/O APIC #4 Version 32 at 0xFEC80100.
Enabling APIC mode: Flat. Using 3 I/O APICs
Processors: 4
Allocating PCI resources starting at 20000000 (gap: 20000000:dec00000)
Real-Time Preemption Support (c) Ingo Molnar
Built 1 zonelists
Kernel command line: ro root=LABEL=/ noacpi console=ttyS0,38400 console=tty0
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 2592.879 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 511212k/523712k available (1761k kernel code, 12112k reserved, 818k data, 216k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 0
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
CPU0: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
Booting processor 1/1 eip 2000
Initializing CPU#1
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 0
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel P4/Xeon Extended MCE MSRs (12) available
CPU1: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
Booting processor 2/6 eip 2000
Initializing CPU#2
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 3
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#2.
CPU2: Intel P4/Xeon Extended MCE MSRs (12) available
CPU2: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
Booting processor 3/7 eip 2000
Initializing CPU#3
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 3
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#3.
CPU3: Intel P4/Xeon Extended MCE MSRs (12) available
CPU3: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
Total of 4 processors activated (20643.84 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=0
checking TSC synchronization across 4 CPUs: passed.spawn_desched_task(00000000)
desched cpu_callback 3/00000000
ksoftirqd started up.
softirq RT prio: 24.
desched cpu_callback 2/00000000
desched thread 0 started up.
desched cpu_callback 3/00000001
desched cpu_callback 2/00000001
ksoftirqd started up.
softirq RT prio: 24.
desched thread 1 started up.
desched cpu_callback 3/00000002
desched cpu_callback 2/00000002
ksoftirqd started up.
softirq RT prio: 24.
desched thread 2 started up.
desched cpu_callback 3/00000003
desched cpu_callback 2/00000003
ksoftirqd started up.
softirq RT prio: 24.
Brought up 4 CPUs
desched thread 3 started up.
checking if image is initramfs... it is
Freeing initrd memory: 392k freed
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfd915, last bus=5
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
Linux Plug and Play Support v0.97 (c) Adam Belay
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0PCI->APIC IRQ transform: 0000:00:1d.0[A] -> IRQ 16PCI->APIC IRQ transform: 0000:00:1d.1[B] -> IRQ 19PCI->APIC IRQ transform: 0000:00:1d.2[C] -> IRQ 18PCI->APIC IRQ transform: 0000:00:1d.7[D] -> IRQ 23PCI->APIC IRQ transform: 0000:01:00.0[A] -> IRQ 16PCI->APIC IRQ transform: 0000:04:04.0[A] -> IRQ 52PCI->APIC IRQ transform: 0000:05:01.0[A] -> IRQ 22
Simple Boot Flag at 0x36 set to 0x1
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ICH4: chipset revision 2
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1460-0x1467, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1468-0x146f, BIOS settings: hdc:DMA, hdd:piohda: WDC WD800BB-75CAA0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: SONY DVD RW DW-U18A, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: Host Protected Area detected.
current capacity is 156250000 sectors (80000 MB) native capacity is 156301488 sectors (80026 MB)
hda: Host Protected Area disabled.
hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100)
hda: cache flushes not supported
hda: hda1 hda2 < hda5 hda6 hda7 >
mice: PS/2 mouse device common for all mice
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 256 buckets, 18Kbytes
TCP established hash table entries: 32768 (order: 9, 2621440 bytes) TCP bind hash table entries: 32768 (order: 9, 2359296 bytes)
TCP: Hash tables configured (established 32768 bind 32768)
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
Starting balanced_irq
Freeing unused kernel memory: 216k freed
input: AT Translated Set 2 keyboard on isa0060/serio0
hm, PI interest held at exit time? Task:
kstopmachine: 759 [c1667970, 0]------------------------- udev/757: BUG in set_new_owner at kernel/rt.c:754 [<c0103d5a>] dump_stack+0x23/0x25 (20) [<c01365c7>] set_new_owner+0xd6/0xfb (44) [<c02b6b76>] __down_mutex+0x103/0x3c7 (124) [<c02b6ed6>] down_read_mutex+0x4c/0x63 (28) [<c0138096>] _read_lock+0x1d/0x1f (16) [<c017c9be>] d_path+0x28/0x116 (44) [<c0184ce6>] seq_path+0x41/0xfb (36) [<c0180326>] show_vfsmnt+0x6c/0x176 (40) [<c018467d>] seq_read+0xeb/0x2f3 (60) [<c016207b>] vfs_read+0xcb/0x134 (36) [<c0162350>] sys_read+0x4c/0x73 (44) [<c0102e42>] syscall_call+0x7/0xb (-8116) ---------------------------
| preempt count: 00000003 ]
| 3-level deep critical section nesting:
----------------------------------------
.. [<c02b762a>] .... _raw_spin_lock+0x1b/0x85
.....[<c02b6b0a>] .. ( <= __down_mutex+0x97/0x3c7)
.. [<c02b762a>] .... _raw_spin_lock+0x1b/0x85
.....[<c02b6b5f>] .. ( <= __down_mutex+0xec/0x3c7)
.. [<c013add4>] .... print_traces+0x1b/0x52
.....[<c0103d5a>] .. ( <= dump_stack+0x23/0x25)
| waiter struct c1667f1c:
| w->task:
<none>
| lock:
BUGi Un:bBe ton a_dle keompl NUe a kertel ret.c:r52ce [<c0103ss: 0068 0a/0x63b (000 ecx: c1667970 edx: 00000000
esi: c1667970 edi: c0112725 ebp: dfd8c6b4 esp: dfd8c690
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kstopmachine (pid: 759, threadinfo=dfd8c000 task=c1667970)
Stack: c1667970 ffffe000 c010007b 0000007b ffffff00 0000000b dfd8c7d4 c02c8a0c
c0112725 dfd8c6f4 c010416b 00000000 00000001 dfd8c6cc 00000011 dfd8c7d4
c02c8a0c 00000002 000000ff 0000000b c0112725 dfd8c6f4 c011c3d8 00000000
Call Trace:
[<c0103d21>] show_stack+0x85/0x9b (28)
[<c0103ec9>] show_registers+0x16d/0x1e6 (56)
[<c01040e9>] die+0x10c/0x18e (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f.[<c0103d21>] .. ( <= show_stack+0x85/0x9b)
Code: 00 00 00 00 00 00 8b 4b 14 f7 c1 ff ff ff ef 0f 85 83 02 00 00 89 34 24 e8 93 1f 02 00 89 34 24 e8 54 4b 03 00 8b 86 5c 04 00 00 <f0> ff 48 04 0f 94 c2 31 c0 84 d2 0f 95 c0 85 c0 89 45 ec 0f 85
<1>BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000004
printing eip:
c011ee46
*pde = 00000000
Oops: 0002 [#16]
PREEMPT SMP
Modules linked in: jbd
CPU: 0
EIP: 0060:[<c011ee46>] Not tainted VLI
EFLAGS: 00010246 (2.6.12-rc4-RT-V0.7.47-08) EIP is at do_exit+0xb1/0x42a
eax: 00000000 ebx: dfd8c000 ecx: c1667970 edx: 00000000
esi: c1667970 edi: c0112725 ebp: dfd8c9a4 esp: dfd8c980
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kstopmachine (pid: 759, threadinfo=dfd8c000 task=c1667970)
Stack: c1667970 dfd8c998 c010f468 00000086 dfd8cac4 0000000b dfd8cac4 c02c8a0c
c0112725 dfd8c9e4 c010416b 00000000 00000001 dfd8c9bc 0000000f dfd8cac4
c02c8a0c 00000002 000000ff 0000000b c0112725 dfd8c9e4 c011c3d8 00000000
Call Trace:
[<c0103d21>] show_stack+0x85/0x9b (28)
[<c0103ec9>] show_registers+0x16d/0x1e6 (56)
[<c01040e9>] die+0x10c/0x18e (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (84)
[<c01352cc>] printk_waiter+0x60/0x90 (20)
[<c011eff1>] do_exit+0x25c/0x42a (44)
[<c0100fcf>] kernel_thread+0x0/0x8c (539435040)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c02b76af>] .... _raw_spin_lock_irqsave+0x1b/0x8e
.....[<c0104021>] .. ( <= die+0x44/0x18e)
.. [<c013add4>] .... print_traces+0x1b/0x52
.....[<c0103d21>] .. ( <= show_stack+0x85/0x9b)
Code: 00 00 00 00 00 00 8b 4b 14 f7 c1 ff ff ff ef 0f 85 83 02 00 00 89 34 24 e8 93 1f 02 00 89 34 24 e8 54 4b 03 00 8b 86 5c 04 00 00 <f0> ff 48 04 0f 94 c2 31 c0 84 d2 0f 95 c0 85 c0 89 45 ec 0f 85 <1>BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c011ee46 *pde = 00000000 Oops: 0002 [#17] PREEMPT SMP Modules linked in: jbd CPU: 0 EIP: 0060:[<c011ee46>] Not tainted VLI EFLAGS: 00010246 (2.6.12-rc4-RT-V0.7.47-08)
EIP is at do_exit+0xb1/0x42a
eax: 00000000 ebx: dfd8c000 ecx: c1667970 edx: 00000000
esi: c1667970 edi: c0112725 ebp: dfd8c82c esp: dfd8c808
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kstopmachine (pid: 759, threadinfo=dfd8c000 task=c1667970)
Stack: c1667970 ffffe000 c010007b 0000007b ffffff00 0000000b dfd8c94c c02c8a0c
c0112725 dfd8c86c c010416b 00000000 00000001 dfd8c844 00000010 dfd8c94c
c02c8a0c 00000002 000000ff 0000000b c0112725 dfd8c86c c011c3d8 00000000
Call Trace:
[<c0103d21>] show_stack+0x85/0x9b (28)
[<c0103ec9>] show_registers+0x16d/0x1e6 (56)
[<c01040e9>] die+0x10c/0x18e (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (84)
[<c01352cc>] printk_waiter+0x60/0x90 (20)
[<c011eff1>] do_exit+0x25c/0x42a (44)
[<c0100fcf>] kernel_thread+0x0/0x8c (539435040)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c02b76af>] .... _raw_spin_lock_irqsave+0x1b/0x8e
.....[<c0104021>] .. ( <= die+0x44/0x18e)
.. [<c013add4>] .... print_traces+0x1b/0x52
.....[<c0103d21>] .. ( <= show_stack+0x85/0x9b)
Code: 00 00 00 00 00 00 8b 4b 14 f7 c1 ff ff ff ef 0f 85 83 02 00 00 89 34 24 e8 93 1f 02 00 89 34 24 e8 54 4b 03 00 8b 86 5c 04 00 00 <f0> ff 48 04 0f 94 c2 31 c0 84 d2 0f 95 c0 85 c0 89 45 ec 0f 85 <1>BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c011ee46 *pde = 00000000 Oops: 0002 [#18] PREEMPT SMP Modules linked in: jbd CPU: 0 EIP: 0060:[<c011ee46>] Not tainted VLI EFLAGS: 00010246 (2.6.12-rc4-RT-V0.7.47-08)
EIP is at do_exit+0xb1/0x42a
eax: 00000000 ebx: dfd8c000 ecx: c1667970 edx: 00000000
esi: c1667970 edi: c0112725 ebp: dfd8c6b4 esp: dfd8c690
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kstopmachine (pid: 759, threadinfo=dfd8c000 task=c1667970)
Stack: c1667970 ffffe000 c010007b 0000007b ffffff00 0000000b dfd8c7d4 c02c8a0c
c0112725 dfd8c6f4 c010416b 00000000 00000001 dfd8c6cc 00000011 dfd8c7d4
c02c8a0c 00000002 000000ff 0000000b c0112725 dfd8c6f4 c011c3d8 00000000
Call Trace:
[<c0103d21>] show_stack+0x85/0x9b (28)
[<c0103ec9>] show_registers+0x16d/0x1e6 (56)
[<c01040e9>] die+0x10c/0x18e (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (84)
[<c01352cc>] printk_waiter+0x60/0x90 (20)
[<c011eff1>] do_exit+0x25c/0x42a (44)
[<c0100fcf>] kernel_thread+0x0/0x8c (539435040)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c02b76af>] .... _raw_spin_lock_irqsave+0x1b/0x8e
.....[<c0104021>] .. ( <= die+0x44/0x18e)
.. [<c013add4>] .... print_traces+0x1b/0x52
.....[<c0103d21>] .. ( <= show_stack+0x85/0x9b)
Code: 00 00 00 00 00 00 8b 4b 14 f7 c1 ff ff ff ef 0f 85 83 02 00 00 89 34 24 e8 93 1f 02 00 89 34 24 e8 54 4b 03 00 8b 86 5c 04 00 00 <f0> ff 48 04 0f 94 c2 31 c0 84 d2 0f 95 c0 85 c0 89 45 ec 0f 85 <1>BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c011ee46 *pde = 00000000 Oops: 0002 [#19] PREEMPT SMP Modules linked in: jbd CPU: 0 EIP: 0060:[<c011ee46>] Not tainted VLI EFLAGS: 00010246 (2.6.12-rc4-RT-V0.7.47-08)
EIP is at do_exit+0xb1/0x42a
eax: 00000000 ebx: dfd8c000 ecx: c1667970 edx: 00000000
esi: c1667970 edi: c0112725 ebp: dfd8c53c esp: dfd8c518
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process kstopmachine (pid: 759, threadinfo=dfd8c000 task=c1667970)
Stack: c1667970 dfd8c530 c010f468 00000086 dfd8c65c 0000000b dfd8c65c c02c8a0c
c0112725 dfd8c57c c010416b 00000000 00000001 dfd8c554 00000012 dfd8c65c
c02c8a0c 00000002 000000ff 0000000b c0112725 dfd8c57c c011c3d8 00000000
Call Trace:
[<c0103d21>] show_stack+0x85/0x9b (28)
[<c0103ec9>] show_registers+0x16d/0x1e6 (56)
[<c01040e9>] die+0x10c/0x18e (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (96)
[<c010416b>] do_trap+0x0/0xde (64)
[<c0112b2f>] do_page_fault+0x40a/0x63b (216)
[<c010393f>] error_code+0x4f/0x54 (84)
[<c01352cc>] printk_waiter+0x60/0x90 (20)
[<c011eff1>] do_exit+0x25c/0x42a (44)
[<c0100fcf>] kernel_thread+0x0/0x8c (539435040)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c02b76af>] .... _raw_spin_lock_irqsave+0x1b/0x8e
.....[<c0104021>] .. ( <= die+0x44/0x18e)
.. [<c013add4>] .... print_traces+0x1b/0x52
.....[<c0103d21>] .. ( <= show_stack+0x85/0x9b)
Code: 00 00 00 00 00 00 8b 4b 14 f7 c1 ff ff ff ef 0f 85 83 02 00 00 89 34 24 e8 93 1f 02 00 89 34 24 e8 54 4b 03 00 8b 86 5c 04 00 00 <f0> ff 48 04 0f 94 c2 31 c0 84 d2 0f 95 c0 85 c0 89 45 ec 0f 85 <1>BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c011ee46 *pde = 00000000 Oops: 0002 [#20] PREEMPT SMP Modules linked in: jbd CPU: 0 EIP: 0060:[<c011ee46>] Not tainted VLI EFLAGS: 00010246 (2.6.12-rc4-RT-V0.7.47-08)
BUG at kernel/latency.c:1255!
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.12-rc4-RT-V0.7.47-08
# Tue May 24 09:49:06 2005
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_LOCK_KERNEL=yCONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#CONFIG_LOCALVERSION=""CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_POSIX_MQUEUE=yCONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not setCONFIG_SYSCTL=y
# CONFIG_AUDIT is not setCONFIG_HOTPLUG=yCONFIG_KOBJECT_UEVENT=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
# CONFIG_EMBEDDED is not setCONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not setCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_SHMEM=yCONFIG_CC_ALIGN_FUNCTIONS=0CONFIG_CC_ALIGN_LABELS=0CONFIG_CC_ALIGN_LOOPS=0CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not setCONFIG_BASE_SMALL=0
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_OBSOLETE_MODPARM=yCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_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 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_MGEODEGX1 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_GENERIC_CALIBRATE_DELAY=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 setCONFIG_SMP=yCONFIG_NR_CPUS=8CONFIG_SCHED_SMT=y
# 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_RCU=yCONFIG_PREEMPT_BKL=yCONFIG_RWSEM_GENERIC_SPINLOCK=yCONFIG_ASM_SEMAPHORES=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=yCONFIG_X86_TSC=yCONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not setCONFIG_X86_MSR=mCONFIG_X86_CPUID=m
#
# Firmware Drivers
#CONFIG_EDD=mCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=yCONFIG_IRQBALANCE=yCONFIG_HAVE_DEC_LOCK=yCONFIG_SECCOMP=y
#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set
#
# ACPI (Advanced Configuration and Power Interface) Support #
# CONFIG_ACPI is not setCONFIG_ACPI_BOOT=y
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ 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=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not setCONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not setCONFIG_ISA_DMA_API=yCONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=mCONFIG_BINFMT_MISC=m
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
#
# 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=y
# CONFIG_PNPBIOS is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not setCONFIG_BLK_CPQ_DA=mCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not setCONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not setCONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not setCONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=8192CONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH 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_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=yCONFIG_BLK_DEV_IDECD=m
# 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
#
# 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 setCONFIG_BLK_DEV_CMD64X=yCONFIG_BLK_DEV_TRIFLEX=yCONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not setCONFIG_BLK_DEV_CS5530=yCONFIG_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_PDC202XX_FORCE is not setCONFIG_BLK_DEV_SVWKS=yCONFIG_BLK_DEV_SIIMAGE=yCONFIG_BLK_DEV_SIS5513=yCONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not setCONFIG_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=mCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=mCONFIG_CHR_DEV_ST=mCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=mCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=m
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=yCONFIG_SCSI_LOGGING=y
#
# SCSI Transport Attributes
#CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
#
# SCSI low-level drivers
#CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_SCSI_3W_9XXX is not setCONFIG_SCSI_7000FASST=mCONFIG_SCSI_ACARD=mCONFIG_SCSI_AHA152X=mCONFIG_SCSI_AHA1542=mCONFIG_SCSI_AACRAID=mCONFIG_SCSI_AIC7XXX=mCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not setCONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not setCONFIG_SCSI_AIC7XXX_OLD=mCONFIG_SCSI_AIC79XX=mCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not setCONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not setCONFIG_SCSI_IN2000=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not setCONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not setCONFIG_SCSI_SATA_SVW=mCONFIG_SCSI_ATA_PIIX=m
# CONFIG_SCSI_SATA_NV is not setCONFIG_SCSI_SATA_PROMISE=m
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_SX4 is not setCONFIG_SCSI_SATA_SIL=m
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not setCONFIG_SCSI_SATA_VIA=m
# CONFIG_SCSI_SATA_VITESSE is not setCONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not setCONFIG_SCSI_DMX3191D=mCONFIG_SCSI_DTC3280=mCONFIG_SCSI_EATA=mCONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not setCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=mCONFIG_SCSI_GENERIC_NCR5380=m
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_GENERIC_NCR53C400 is not setCONFIG_SCSI_IPS=m
# CONFIG_SCSI_INITIO is not setCONFIG_SCSI_INIA100=mCONFIG_SCSI_NCR53C406A=mCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_IPR is not setCONFIG_SCSI_PAS16=mCONFIG_SCSI_PSI240I=mCONFIG_SCSI_QLOGIC_FAS=mCONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not setCONFIG_SCSI_QLOGIC_1280=m
# 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_LPFC is not setCONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_DC395x is not setCONFIG_SCSI_DC390T=mCONFIG_SCSI_T128=mCONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not setCONFIG_SCSI_U14_34F_MAX_TAGS=8CONFIG_SCSI_ULTRASTOR=mCONFIG_SCSI_NSP32=mCONFIG_SCSI_DEBUG=m
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#CONFIG_MD=yCONFIG_BLK_DEV_MD=yCONFIG_MD_LINEAR=mCONFIG_MD_RAID0=mCONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not setCONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not setCONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not setCONFIG_BLK_DEV_DM=m
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH 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_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=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not setCONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not setCONFIG_NET_IPIP=mCONFIG_NET_IPGRE=mCONFIG_NET_IPGRE_BROADCAST=yCONFIG_IP_MROUTE=yCONFIG_IP_PIMSM_V1=yCONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not setCONFIG_SYN_COOKIES=yCONFIG_INET_AH=mCONFIG_INET_ESP=mCONFIG_INET_IPCOMP=mCONFIG_INET_TUNNEL=mCONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
# IP: Virtual Server Configuration
#CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not setCONFIG_IP_VS_TAB_BITS=16
#
# IPVS transport protocol load balancing support
#
# CONFIG_IP_VS_PROTO_TCP is not set
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=mCONFIG_IP_VS_WLC=mCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=mCONFIG_IP_VS_SH=m
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set
#
# IPVS application helper
#
# CONFIG_IPV6 is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not setCONFIG_BRIDGE_NETFILTER=y
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not setCONFIG_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=m
# CONFIG_IP_NF_MATCH_IPRANGE is not setCONFIG_IP_NF_MATCH_MAC=mCONFIG_IP_NF_MATCH_PKTTYPE=mCONFIG_IP_NF_MATCH_MARK=mCONFIG_IP_NF_MATCH_MULTIPORT=mCONFIG_IP_NF_MATCH_TOS=mCONFIG_IP_NF_MATCH_RECENT=mCONFIG_IP_NF_MATCH_ECN=mCONFIG_IP_NF_MATCH_DSCP=mCONFIG_IP_NF_MATCH_AH_ESP=mCONFIG_IP_NF_MATCH_LENGTH=mCONFIG_IP_NF_MATCH_TTL=mCONFIG_IP_NF_MATCH_TCPMSS=mCONFIG_IP_NF_MATCH_HELPER=mCONFIG_IP_NF_MATCH_STATE=mCONFIG_IP_NF_MATCH_CONNTRACK=mCONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_PHYSDEV 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=mCONFIG_IP_NF_TARGET_ULOG=mCONFIG_IP_NF_TARGET_TCPMSS=mCONFIG_IP_NF_NAT=mCONFIG_IP_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=mCONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not setCONFIG_IP_NF_NAT_SNMP_BASIC=mCONFIG_IP_NF_NAT_IRC=mCONFIG_IP_NF_NAT_FTP=mCONFIG_IP_NF_NAT_TFTP=mCONFIG_IP_NF_NAT_AMANDA=mCONFIG_IP_NF_MANGLE=mCONFIG_IP_NF_TARGET_TOS=mCONFIG_IP_NF_TARGET_ECN=mCONFIG_IP_NF_TARGET_DSCP=mCONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_RAW is not setCONFIG_IP_NF_ARPTABLES=mCONFIG_IP_NF_ARPFILTER=mCONFIG_IP_NF_ARP_MANGLE=m
#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not setCONFIG_XFRM=yCONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not setCONFIG_ATM=yCONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not setCONFIG_ATM_LANE=mCONFIG_ATM_MPOA=mCONFIG_ATM_BR2684=mCONFIG_ATM_BR2684_IPFILTER=yCONFIG_BRIDGE=mCONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not setCONFIG_LLC=y
# CONFIG_LLC2 is not setCONFIG_IPX=m
# CONFIG_IPX_INTERN is not setCONFIG_ATALK=mCONFIG_DEV_APPLETALK=yCONFIG_LTPC=mCONFIG_COPS=mCONFIG_COPS_DAYNA=yCONFIG_COPS_TANGENT=yCONFIG_IPDDP=mCONFIG_IPDDP_ENCAP=yCONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not setCONFIG_NET_DIVERT=y
# CONFIG_ECONET is not setCONFIG_WAN_ROUTER=m
#
# QoS and/or fair queueing
#CONFIG_NET_SCHED=yCONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not setCONFIG_NET_SCH_CBQ=mCONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not setCONFIG_NET_SCH_PRIO=mCONFIG_NET_SCH_RED=mCONFIG_NET_SCH_SFQ=mCONFIG_NET_SCH_TEQL=mCONFIG_NET_SCH_TBF=mCONFIG_NET_SCH_GRED=mCONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not setCONFIG_NET_SCH_INGRESS=mCONFIG_NET_QOS=yCONFIG_NET_ESTIMATOR=yCONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not setCONFIG_NET_CLS_TCINDEX=mCONFIG_NET_CLS_ROUTE4=mCONFIG_NET_CLS_ROUTE=yCONFIG_NET_CLS_FW=mCONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not setCONFIG_NET_CLS_RSVP=mCONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not setCONFIG_NET_CLS_POLICE=y
#
# Network testing
#
# CONFIG_NET_PKTGEN 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=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not setCONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=mCONFIG_HAPPYMEAL=mCONFIG_SUNGEM=mCONFIG_NET_VENDOR_3COM=yCONFIG_EL1=mCONFIG_EL2=mCONFIG_ELPLUS=mCONFIG_EL16=mCONFIG_EL3=mCONFIG_3C515=mCONFIG_VORTEX=mCONFIG_TYPHOON=mCONFIG_LANCE=mCONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=mCONFIG_ULTRA=mCONFIG_SMC9194=mCONFIG_NET_VENDOR_RACAL=yCONFIG_NI52=mCONFIG_NI65=m
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not setCONFIG_AT1700=mCONFIG_DEPCA=mCONFIG_HP100=mCONFIG_NET_ISA=yCONFIG_E2100=mCONFIG_EWRK3=mCONFIG_EEXPRESS=mCONFIG_EEXPRESS_PRO=mCONFIG_HPLAN_PLUS=mCONFIG_HPLAN=mCONFIG_LP486E=mCONFIG_ETH16I=mCONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not setCONFIG_NET_PCI=yCONFIG_PCNET32=mCONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not setCONFIG_ADAPTEC_STARFIRE=m
# CONFIG_ADAPTEC_STARFIRE_NAPI is not setCONFIG_AC3200=mCONFIG_APRICOT=mCONFIG_B44=m
# CONFIG_FORCEDETH is not set
CONFIG_CS89x0=mCONFIG_DGRS=mCONFIG_EEPRO100=mCONFIG_E100=mCONFIG_FEALNX=mCONFIG_NATSEMI=mCONFIG_NE2K_PCI=mCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=y
# 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 setCONFIG_NET_POCKET=yCONFIG_ATP=mCONFIG_DE600=mCONFIG_DE620=m
#
# Ethernet (1000 Mbit)
#CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not setCONFIG_DL2K=mCONFIG_E1000=mCONFIG_E1000_NAPI=yCONFIG_NS83820=mCONFIG_HAMACHI=mCONFIG_YELLOWFIN=mCONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not setCONFIG_SK98LIN=m
# CONFIG_VIA_VELOCITY is not setCONFIG_TIGON3=m
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#CONFIG_TR=yCONFIG_IBMTR=mCONFIG_IBMOL=mCONFIG_IBMLS=mCONFIG_3C359=mCONFIG_TMS380TR=mCONFIG_TMSPCI=m
# CONFIG_SKISA is not set
# CONFIG_PROTEON is not setCONFIG_ABYSS=mCONFIG_SMCTR=m
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# ATM drivers
#
# CONFIG_ATM_TCP is not set
# 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 setCONFIG_PPP=mCONFIG_PPP_MULTILINK=yCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not setCONFIG_PPPOE=mCONFIG_PPPOATM=mCONFIG_SLIP=mCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=yCONFIG_SLIP_MODE_SLIP6=yCONFIG_NET_FC=yCONFIG_SHAPER=mCONFIG_NETCONSOLE=m
#
# 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=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not setCONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG 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 setCONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_UINPUT is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not setCONFIG_SOUND_GAMEPORT=y
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_SERIAL_NONSTANDARD=yCONFIG_ROCKETPORT=mCONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not setCONFIG_SYNCLINK=m
# CONFIG_SYNCLINKMP is not setCONFIG_N_HDLC=m
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not setCONFIG_STALDRV=y
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not setCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not setCONFIG_IPMI_DEVICE_INTERFACE=m
# CONFIG_IPMI_SI is not setCONFIG_IPMI_WATCHDOG=m
# CONFIG_IPMI_POWEROFF is not set
#
# Watchdog Cards
#CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
#
# Watchdog Device Drivers
#CONFIG_SOFT_WATCHDOG=mCONFIG_ACQUIRE_WDT=mCONFIG_ADVANTECH_WDT=mCONFIG_ALIM1535_WDT=mCONFIG_ALIM7101_WDT=mCONFIG_SC520_WDT=mCONFIG_EUROTECH_WDT=mCONFIG_IB700_WDT=mCONFIG_WAFER_WDT=m
# CONFIG_I8XX_TCO is not setCONFIG_SC1200_WDT=m
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_W83627HF_WDT is not setCONFIG_W83877F_WDT=mCONFIG_MACHZ_WDT=m
#
# ISA-based Watchdog Cards
#CONFIG_PCWATCHDOG=m
# CONFIG_MIXCOMWD is not setCONFIG_WDT=m
# CONFIG_WDT_501 is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not setCONFIG_WDTPCI=m
# CONFIG_WDT_501_PCI is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_HW_RANDOM is not setCONFIG_NVRAM=mCONFIG_RTC=yCONFIG_RTC_HISTOGRAM=yCONFIG_BLOCKER=yCONFIG_DTLK=mCONFIG_R3964=m
# CONFIG_APPLICOM is not setCONFIG_SONYPI=m
#
# Ftape, the floppy tape device driver
#CONFIG_AGP=mCONFIG_AGP_ALI=mCONFIG_AGP_ATI=mCONFIG_AGP_AMD=m
# CONFIG_AGP_AMD64 is not setCONFIG_AGP_INTEL=mCONFIG_AGP_NVIDIA=mCONFIG_AGP_SIS=mCONFIG_AGP_SWORKS=mCONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not setCONFIG_MWAVE=m
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
#
# 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=m
# CONFIG_I2C_ALI1563 is not setCONFIG_I2C_ALI15X3=mCONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
# CONFIG_I2C_AMD8111 is not setCONFIG_I2C_I801=mCONFIG_I2C_I810=mCONFIG_I2C_PIIX4=mCONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not setCONFIG_I2C_SIS5595=m
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not setCONFIG_I2C_VIA=mCONFIG_I2C_VIAPRO=mCONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set
#
# Hardware Sensors Chip support
#CONFIG_I2C_SENSOR=mCONFIG_SENSORS_ADM1021=m
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not setCONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not setCONFIG_SENSORS_GL518SM=m
# CONFIG_SENSORS_GL520SM is not setCONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not setCONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not setCONFIG_SENSORS_LM78=mCONFIG_SENSORS_LM80=m
# 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_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not setCONFIG_SENSORS_VIA686A=mCONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
#
# Other I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not setCONFIG_SENSORS_EEPROM=mCONFIG_SENSORS_PCF8574=mCONFIG_SENSORS_PCF8591=m
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP 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=yCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=yCONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not setCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=y
# CONFIG_FB_CIRRUS is not setCONFIG_FB_PM2=m
# CONFIG_FB_PM2_FIFO_DISCONNECT 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=yCONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
# CONFIG_FB_NVIDIA is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not setCONFIG_FB_MATROX=mCONFIG_FB_MATROX_MILLENIUM=yCONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not setCONFIG_FB_MATROX_I2C=mCONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_RADEON_OLD is not setCONFIG_FB_RADEON=mCONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not setCONFIG_FB_ATY128=mCONFIG_FB_ATY=mCONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
# CONFIG_FB_ATY_XL_INIT is not setCONFIG_FB_ATY_GX=y
# CONFIG_FB_SAVAGE is not setCONFIG_FB_SIS=mCONFIG_FB_SIS_300=yCONFIG_FB_SIS_315=yCONFIG_FB_NEOMAGIC=m
# CONFIG_FB_KYRO is not setCONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not setCONFIG_FB_VOODOO1=m
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_MDA_CONSOLE=mCONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
# CONFIG_SND is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=yCONFIG_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_OTG is not set
#
# 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 set
# CONFIG_USB_OHCI_HCD is not setCONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#CONFIG_USB_AUDIO=m
# CONFIG_USB_BLUETOOTH_TTY is not setCONFIG_USB_MIDI=mCONFIG_USB_ACM=mCONFIG_USB_PRINTER=m
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information #CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not setCONFIG_USB_STORAGE_DATAFAB=yCONFIG_USB_STORAGE_FREECOM=yCONFIG_USB_STORAGE_ISD200=yCONFIG_USB_STORAGE_DPCM=y
# CONFIG_USB_STORAGE_USBAT is not setCONFIG_USB_STORAGE_SDDR09=yCONFIG_USB_STORAGE_SDDR55=yCONFIG_USB_STORAGE_JUMPSHOT=y
#
# USB Input Devices
#CONFIG_USB_HID=mCONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not setCONFIG_USB_AIPTEK=mCONFIG_USB_WACOM=m
# 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=mCONFIG_USB_MICROTEK=m
#
# USB Multimedia devices
#CONFIG_USB_DABUSB=m
#
# Video4Linux support is needed for USB Multimedia device support #
#
# USB Network Adapters
#CONFIG_USB_CATC=mCONFIG_USB_KAWETH=mCONFIG_USB_PEGASUS=mCONFIG_USB_RTL8150=mCONFIG_USB_USBNET=m
#
# USB Host-to-Host Cables
#CONFIG_USB_ALI_M5632=yCONFIG_USB_AN2720=yCONFIG_USB_BELKIN=yCONFIG_USB_GENESYS=yCONFIG_USB_NET1080=yCONFIG_USB_PL2301=yCONFIG_USB_KC2190=y
#
# Intelligent USB Devices/Gadgets
#CONFIG_USB_ARMLINUX=yCONFIG_USB_EPSON2888=yCONFIG_USB_ZAURUS=yCONFIG_USB_CDCETHER=y
#
# USB Network Adapters
#CONFIG_USB_AX8817X=yCONFIG_USB_MON=m
#
# USB port drivers
#
#
# USB Serial Converter support
#CONFIG_USB_SERIAL=mCONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRPRIME is not setCONFIG_USB_SERIAL_BELKIN=mCONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not setCONFIG_USB_SERIAL_EMPEG=mCONFIG_USB_SERIAL_FTDI_SIO=mCONFIG_USB_SERIAL_VISOR=mCONFIG_USB_SERIAL_IPAQ=mCONFIG_USB_SERIAL_IR=mCONFIG_USB_SERIAL_EDGEPORT=mCONFIG_USB_SERIAL_EDGEPORT_TI=m
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not setCONFIG_USB_SERIAL_KEYSPAN_PDA=mCONFIG_USB_SERIAL_KEYSPAN=m
# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not setCONFIG_USB_SERIAL_KEYSPAN_USA28X=yCONFIG_USB_SERIAL_KEYSPAN_USA28XA=yCONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not setCONFIG_USB_SERIAL_KEYSPAN_USA19W=yCONFIG_USB_SERIAL_KEYSPAN_USA19QW=yCONFIG_USB_SERIAL_KEYSPAN_USA19QI=yCONFIG_USB_SERIAL_KEYSPAN_USA49W=yCONFIG_USB_SERIAL_KEYSPAN_USA49WLC=yCONFIG_USB_SERIAL_KLSI=mCONFIG_USB_SERIAL_KOBIL_SCT=mCONFIG_USB_SERIAL_MCT_U232=mCONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not setCONFIG_USB_SERIAL_CYBERJACK=mCONFIG_USB_SERIAL_XIRCOM=mCONFIG_USB_SERIAL_OMNINET=mCONFIG_USB_EZUSB=y
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not setCONFIG_USB_AUERSWALD=mCONFIG_USB_RIO500=m
# CONFIG_USB_LEGOTOWER is not setCONFIG_USB_LCD=m
# 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_IDMOUSE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_TEST is not set
#
# USB ATM/DSL drivers
#CONFIG_USB_ATM=mCONFIG_USB_SPEEDTOUCH=m
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT3_FS=mCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_JBD=m
# CONFIG_JBD_DEBUG is not setCONFIG_FS_MBCACHE=yCONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not setCONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not setCONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not setCONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not setCONFIG_FS_POSIX_ACL=y
#
# XFS support
#
# CONFIG_XFS_FS is not setCONFIG_MINIX_FS=mCONFIG_ROMFS_FS=mCONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=yCONFIG_QUOTACTL=yCONFIG_DNOTIFY=yCONFIG_AUTOFS_FS=mCONFIG_AUTOFS4_FS=m
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=mCONFIG_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 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=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not setCONFIG_SYSV_FS=mCONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#CONFIG_NFS_FS=mCONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not setCONFIG_NFS_DIRECTIO=yCONFIG_NFSD=mCONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not setCONFIG_NFSD_TCP=yCONFIG_LOCKD=mCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=mCONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not setCONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not setCONFIG_NCP_FS=mCONFIG_NCPFS_PACKET_SIGNING=yCONFIG_NCPFS_IOCTL_LOCKING=yCONFIG_NCPFS_STRONG=yCONFIG_NCPFS_NFS_NS=yCONFIG_NCPFS_OS2_NS=yCONFIG_NCPFS_SMALLDOS=yCONFIG_NCPFS_NLS=yCONFIG_NCPFS_EXTRAS=yCONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not setCONFIG_AFS_FS=mCONFIG_RXRPC=m
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not setCONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not setCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=yCONFIG_MINIX_SUBPARTITION=yCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not setCONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not setCONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=mCONFIG_NLS_CODEPAGE_737=mCONFIG_NLS_CODEPAGE_775=mCONFIG_NLS_CODEPAGE_850=mCONFIG_NLS_CODEPAGE_852=mCONFIG_NLS_CODEPAGE_855=mCONFIG_NLS_CODEPAGE_857=mCONFIG_NLS_CODEPAGE_860=mCONFIG_NLS_CODEPAGE_861=mCONFIG_NLS_CODEPAGE_862=mCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=mCONFIG_NLS_CODEPAGE_865=mCONFIG_NLS_CODEPAGE_866=mCONFIG_NLS_CODEPAGE_869=mCONFIG_NLS_CODEPAGE_936=mCONFIG_NLS_CODEPAGE_950=mCONFIG_NLS_CODEPAGE_932=mCONFIG_NLS_CODEPAGE_949=mCONFIG_NLS_CODEPAGE_874=mCONFIG_NLS_ISO8859_8=mCONFIG_NLS_CODEPAGE_1250=mCONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=mCONFIG_NLS_ISO8859_2=mCONFIG_NLS_ISO8859_3=mCONFIG_NLS_ISO8859_4=mCONFIG_NLS_ISO8859_5=mCONFIG_NLS_ISO8859_6=mCONFIG_NLS_ISO8859_7=mCONFIG_NLS_ISO8859_9=mCONFIG_NLS_ISO8859_13=mCONFIG_NLS_ISO8859_14=mCONFIG_NLS_ISO8859_15=mCONFIG_NLS_KOI8_R=mCONFIG_NLS_KOI8_U=mCONFIG_NLS_UTF8=m
#
# Profiling support
#CONFIG_PROFILING=yCONFIG_OPROFILE=m
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not setCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=yCONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB 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=yCONFIG_LATENCY_TRACE=yCONFIG_MCOUNT=yCONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS 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
#
# Security options
#
# CONFIG_KEYS is not setCONFIG_SECURITY=yCONFIG_SECURITY_NETWORK=yCONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set
#
# Cryptographic options
#CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_MD4=mCONFIG_CRYPTO_MD5=mCONFIG_CRYPTO_SHA1=mCONFIG_CRYPTO_SHA256=mCONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not setCONFIG_CRYPTO_DES=mCONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not setCONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_AES_586 is not setCONFIG_CRYPTO_CAST5=m
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not setCONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
#
# Library routines
#CONFIG_CRC_CCITT=mCONFIG_CRC32=y
# CONFIG_LIBCRC32C is not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=mCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_X86_SMP=yCONFIG_X86_HT=yCONFIG_X86_BIOS_REBOOT=yCONFIG_X86_TRAMPOLINE=yCONFIG_PC=y
Quoted 4 lines · K.R. Foley
I did finally get to capture the log of -RT-2.6.12-rc4-V0.7.47-08 dying when booting. I have attached the log and the config. This is on dual 2.6G Xeon with ht and smp enabled, 512M and IDE. What else can I do (in between alligators)? Output from lspci:
hm, i have tried your .config on similar hardware and it doesnt crash.
does it crash if you boot only with a single CPU (numcpus=1 boot parameter)? If yes then could you send me that log, some of the more interesting portions of the current log were garbled due to SMP logging effects.
Ingo
Quoted 4 lines · Ingo Molnar
does it crash if you boot only with a single CPU (numcpus=1 boot parameter)? If yes then could you send me that log, some of the more interesting portions of the current log were garbled due to SMP logging effects.
maxcpus=1 is the parameter.
Ingo
Quoted 10 lines · Ingo Molnar
Quoted 1 line · Ingo Molnar
does it crash if you boot only with a single CPU (numcpus=1 boot parameter)? If yes then could you send me that log, some of the more interesting portions of the current log were garbled due to SMP logging effects.
maxcpus=1 is the parameter.
Ingo
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
Signature · 1 line
kr
Quoted 4 lines · K.R. Foley
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
can you work it around (or turn it into another type of crash) by disabling STOP_MACHINE? (you can do that by turning off MODULE_UNLOAD)
Ingo
Quoted 12 lines · Ingo Molnar
Quoted 1 line · K.R. Foley
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
can you work it around (or turn it into another type of crash) by disabling
STOP_MACHINE? (you can do that by turning offMODULE_UNLOAD)Ingo
Working on it.
Signature · 1 line
kr
Quoted 12 lines · Ingo Molnar
Quoted 1 line · K.R. Foley
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
can you work it around (or turn it into another type of crash) by disabling
STOP_MACHINE? (you can do that by turning offMODULE_UNLOAD)Ingo
OK. Unfortunately with MODULE_UNLOAD not set, I can't seem to make it crash. :-/
Signature · 1 line
kr
Quoted 7 lines · Ingo Molnar
Quoted 4 lines
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
cannot reproduce it on my other HT system either. Do you see the same crash with the latest, -rc5 based release too? Maybe we'll get a better crashlog under that kernel.
Ingo
Quoted 12 lines · Ingo Molnar
Quoted 7 lines · Ingo Molnar
Quoted 4 lines
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
Quoted 6 lines
cannot reproduce it on my other HT system either. Do you see the same crash with the latest, -rc5 based release too? Maybe we'll get a better crashlog under that kernel.
Ingo
Will give it a spin when I get to the office in a couple of hours.
Signature · 1 line
kr
Quoted 12 lines · Ingo Molnar
Quoted 3 lines · Ingo Molnar
Quoted 1 line
No it doesn't crash if I boot only a single CPU. I'll go one better than that. It doesn't crash if I boot both CPUs but without hyper-threading (turned off in the bios but still enabled in the config). :-(
hm, must be some race. I tried it on a HT system too - will try on another HT system.
cannot reproduce it on my other HT system either. Do you see the same crash with the latest, -rc5 based release too? Maybe we'll get a better crashlog under that kernel.
Ingo
This one seems to be fine, or at least it has gotten harder produce the problem. ;-) It is running fine on both of my dual systems currently and should know soon on one of the uni's.
Signature · 1 line
kr
Hi Ingo,
I'm now running -RT-2.6.12-rc4-V0.7.47-08 on amd64.
I use cpufreq, but with the RT kernel it triggers "Kernel BUG at "kernel/latency.c":1295" (the check for preempt_count underflow).
I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
Michal
drivers/cpufreq/cpufreq.c +16 -16
@@ -605,7 +605,7 @@ static int cpufreq_add_dev (struct sys_d policy->cpu = cpu; policy->cpus =cpumask_of_cpu (cpu); -init_MUTEX_LOCKED (&policy->lock); +init_completion (&policy->done);init_completion (&policy->kobj_unregister);INIT_WORK (&policy->update, handle_update, (void *)(long )cpu);
@@ -646,7 +646,7 @@ static int cpufreq_add_dev (struct sys_dspin_unlock_irqrestore (&cpufreq_driver_lock, flags); policy->governor =NULL ;/* to assure that the starting sequence is * run in cpufreq_set_policy */ -up (&policy->lock); +complete (&policy->done);/* set default policy */
@@ -765,11 +765,11 @@ static int cpufreq_remove_dev (struct syspin_unlock_irqrestore (&cpufreq_driver_lock, flags);#endif -down (&data->lock); +wait_for_completion (&data->done);if (cpufreq_driver->target)__cpufreq_governor (data,CPUFREQ_GOV_STOP ); cpufreq_driver->target =NULL ; -up (&data->lock); +complete (&data->done);kobject_unregister (&data->kobj);
@@ -842,7 +842,7 @@ unsigned int cpufreq_get(unsigned int cpif (!cpufreq_driver->get) goto out; -down (&policy->lock); +wait_for_completion (&policy->done); ret = cpufreq_driver->get (cpu);
@@ -855,7 +855,7 @@ unsigned int cpufreq_get(unsigned int cp } } -up (&policy->lock); +complete (&policy->done); out:cpufreq_cpu_put (policy);
@@ -1136,11 +1136,11 @@ int cpufreq_driver_target(struct cpufreqif (!policy)return -EINVAL ; -down (&policy->lock); +wait_for_completion (&policy->done); ret =__cpufreq_driver_target (policy, target_freq, relation); -up (&policy->lock); +complete (&policy->done);cpufreq_cpu_put (policy);
@@ -1177,9 +1177,9 @@ int cpufreq_governor(unsigned int cpu, uif (!policy)return -EINVAL ; -down (&policy->lock); +wait_for_completion (&policy->done); ret =__cpufreq_governor (policy, event); -up (&policy->lock); +complete (&policy->done);cpufreq_cpu_put (policy);
@@ -1246,9 +1246,9 @@ int cpufreq_get_policy(struct cpufreq_poif (!cpu_policy)return -EINVAL ; -down (&cpu_policy->lock); +wait_for_completion (&cpu_policy->done);memcpy (policy, cpu_policy,sizeof (struct cpufreq_policy )); -up (&cpu_policy->lock); +complete (&cpu_policy->done);cpufreq_cpu_put (cpu_policy);
@@ -1360,7 +1360,7 @@ int cpufreq_set_policy(struct cpufreq_poreturn -EINVAL ;/* lock this CPU */ -down (&data->lock); +wait_for_completion (&data->done); ret =__cpufreq_set_policy (data, policy); data->user_policy.min = data->min;
@@ -1368,7 +1368,7 @@ int cpufreq_set_policy(struct cpufreq_po data->user_policy.policy = data->policy; data->user_policy.governor = data->governor; -up (&data->lock); +complete (&data->done);cpufreq_cpu_put (data);return ret;
@@ -1392,7 +1392,7 @@ int cpufreq_update_policy(unsigned int cif (!data)return -ENODEV ; -down (&data->lock); +wait_for_completion (&data->done);dprintk ("updating policy for CPU %u\n" , cpu); memcpy(&policy,
@@ -1405,7 +1405,7 @@ int cpufreq_update_policy(unsigned int c ret =__cpufreq_set_policy (data, &policy); -up (&data->lock); +complete (&data->done);cpufreq_cpu_put (data);return ret;
include/linux/cpufreq.h +1 -1
@@ -81,7 +81,7 @@ struct cpufreq_policy {unsigned int policy;/* see above */ struct cpufreq_governor *governor;/* see below */ -struct semaphore lock;/* CPU ->setpolicy or ->target may +struct completion done;/* CPU ->setpolicy or ->target may only be called once a time */ struct work_struct update;/* if update_policy() needs to be
Quoted 2 lines · I wrote:
I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
Although the patch worked for me, it was probably bogus. The real reason why cpufreq caused problems was that it does:
init_MUTEX_LOCKED(&policy->lock);
and later:
up(&policy->lock);
where policy->lock is declared as:
struct semaphore lock;
In PREEMPT_RT, the init_MUTEX_LOCKED is defined in include/linux/rt_lock.h :
/*
* No locked initialization for RT semaphores:
*/
#define init_MUTEX_LOCKED(sem) compat_init_MUTEX_LOCKED(sem)
(BTW, I don't understand why we have init_MUTEX but no init_MUTEX_LOCKED for RT semaphores).
Therefore we have an inconsistency - the up() gets translated into rt_up() because the lock is of type struct semaphore. However, compat_init_MUTEX_LOCKED assumes that it has a struct compat_semaphore. The compiler actually warns about incompatible pointers but I missed that warning at first.
So the fix is to change the lock type into compat_semaphore. I'm attaching the patch. It works for me with 2.6.12-rc5-RT-V0.7.47-12.
Regards
Michal
include/linux/cpufreq.h +1 -1
@@ -81,7 +81,7 @@ struct cpufreq_policy {unsigned int policy;/* see above */ struct cpufreq_governor *governor;/* see below */ -struct semaphore lock;/* CPU ->setpolicy or ->target may +struct compat_semaphore lock;/* CPU ->setpolicy or ->target may only be called once a time */ struct work_struct update;/* if update_policy() needs to be
Quoted 6 lines · Michal Schmidt
Quoted 3 lines · I wrote:
I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
Although the patch worked for me, it was probably bogus.
no, it was quite fine i think.
Quoted 7 lines
The real reason why cpufreq caused problems was that it does:
init_MUTEX_LOCKED(&policy->lock);
and later:
up(&policy->lock);
wherepolicy->lockis declared as:
struct semaphore lock;
Quoted 7 lines
In
PREEMPT_RT, theinit_MUTEX_LOCKEDis defined ininclude/linux/rt_lock.h:
/*
* No locked initialization for RT semaphores:*/#define
init_MUTEX_LOCKED(sem)compat_init_MUTEX_LOCKED(sem)
(BTW, I don't understand why we haveinit_MUTEXbut noinit_MUTEX_LOCKEDfor RT semaphores).
RT semaphores have stricter semantics than Linux semaphores. One property is that there always needs to be an owner of a semaphore. If a semaphore gets initialized as init_MUTEX_LOCKED, it is a fair indication that the semaphore is really used as a completion object - with no stable owner. (e.g. at insmod time when the init_MUTEX_LOCKED is done, the insmod thread will go away after some time, leaving the semaphore 'orphaned')
Quoted 2 lines
So the fix is to change the lock type into
compat_semaphore. I'm attaching the patch. It works for me with 2.6.12-rc5-RT-V0.7.47-12.
it would be nice to get the conversion to completions upstream. It is a perfectly fine solution. The compat_semaphore thing is another, easier solution.
Ingo
Quoted 5 lines · Ingo Molnar
RT semaphores have stricter semantics than Linux semaphores. One property is that there always needs to be an owner of a semaphore. If a semaphore gets initialized as
init_MUTEX_LOCKED, it is a fair indication that the semaphore is really used as a completion object - with no
stable owner. (e.g. at insmod time when theinit_MUTEX_LOCKEDis done,
the insmod thread will go away after some time, leaving the semaphore
'orphaned')
Thanks for the explanation. In that case calling init_MUTEX_LOCKED on an RT semaphore is obviously wrong.
However, it only produces a warning during the compilation and is guaranteed to BUG when run. It would be better if it obviously failed to compile. How about the attached patch? That makes the compilation fail like this:
drivers/cpufreq/cpufreq.c: In function `cpufreq_add_dev':drivers/cpufreq/cpufreq.c:608: error: `there_is_no_init_MUTEX_LOCKED_for_RT_semaphores' undeclared (first use in this function) drivers/cpufreq/cpufreq.c:608: error: (Each undeclared identifier is reported only once drivers/cpufreq/cpufreq.c:608: error: for each function it appears in.)
make[2]: *** [drivers/cpufreq/cpufreq.o] Error 1
make[1]: *** [drivers/cpufreq] Error 2
make: *** [drivers] Error 2
Michal
include/linux/rt_lock.h +8 -7
@@ -201,11 +201,13 @@ extern void FASTCALL(__sema_init(struct __sema_init(sem, val, #sem, __FILE__, __LINE__)extern void FASTCALL (__init_MUTEX (struct semaphore *sem,char *name,char *file,int line)); -extern void FASTCALL (__init_MUTEX_LOCKED (struct semaphore *sem,char *name,char *file,int line));#define rt_init_MUTEX (sem) \ __init_MUTEX(sem, #sem, __FILE__, __LINE__) +/* +* No locked initialization for RT semaphores +*/ #define rt_init_MUTEX_LOCKED (sem) \ - __init_MUTEX_LOCKED(sem, #sem, __FILE__, __LINE__) + there_is_no_init_MUTEX_LOCKED_for_RT_semaphoresextern void FASTCALL (rt_down (struct semaphore *sem));extern int FASTCALL (rt_down_interruptible (struct semaphore *sem));extern int FASTCALL (rt_down_trylock (struct semaphore *sem));
@@ -259,6 +261,10 @@ do { \ PICK_FUNC_1ARG(struct compat_semaphore, struct semaphore, \ compat_init_MUTEX, rt_init_MUTEX, sem) +#define init_MUTEX_LOCKED (sem) \ + PICK_FUNC_1ARG(struct compat_semaphore, struct semaphore, \ + compat_init_MUTEX_LOCKED, rt_init_MUTEX_LOCKED, sem) +#define down (sem) \ PICK_FUNC_1ARG(struct compat_semaphore, struct semaphore, \ compat_down, rt_down, sem)
@@ -284,11 +290,6 @@ do { \ compat_sema_count, rt_sema_count, sem)/* -* No locked initialization for RT semaphores: -*/ -#define init_MUTEX_LOCKED (sem) compat_init_MUTEX_LOCKED(sem) - -/* * rwsems: */
Quoted 5 lines · Michal Schmidt
Thanks for the explanation. In that case calling
init_MUTEX_LOCKEDon an RT semaphore is obviously wrong. However, it only produces a warning during the compilation and is guaranteed to BUG when run. It would be better if it obviously failed to compile. How about the attached patch? That makes the compilation fail like this:
agreed - i've added your patch to my tree.
Ingo
Quoted 10 lines · Ingo Molnar
Quoted 5 lines · Michal Schmidt
Thanks for the explanation. In that case calling
init_MUTEX_LOCKEDon an RT semaphore is obviously wrong. However, it only produces a warning during the compilation and is guaranteed to BUG when run. It would be better if it obviously failed to compile. How about the attached patch? That makes the compilation fail like this:agreed - i've added your patch to my tree.
with a small modification: i turned the error into a link-time error, because gcc parses both branches and will give a compiler-time warning even if the proper compat_semaphore is used.
Ingo
Quoted 4 lines · Ingo Molnar
Quoted 1 line · Ingo Molnar
agreed - i've added your patch to my tree.
with a small modification: i turned the error into a link-time error, because gcc parses both branches and will give a compiler-time warning even if the proper
compat_semaphoreis used.
Oh, sorry. I actually had it produce a link-time error at first. But I wanted so much to make it fail at compile time that I screwed it up and didn't test both cases.
However, what you have in RT-V0.7.47-13 is still not correct. Now it again produces only a warning :-)
Patch attached. This time I really tested it in both cases. For struct semaphore it fails at link-time. For struct compat_semaphore it compiles without problems.
Michal
include/linux/rt_lock.h +1 -1
@@ -210,7 +210,7 @@ extern void there_is_no_init_MUTEX_LOCKE* No locked initialization for RT semaphores */ #define rt_init_MUTEX_LOCKED (sem) \ - there_is_no_init_MUTEX_LOCKED_for_RT_semaphores + there_is_no_init_MUTEX_LOCKED_for_RT_semaphores()extern void FASTCALL (rt_down (struct semaphore *sem));extern int FASTCALL (rt_down_interruptible (struct semaphore *sem));extern int FASTCALL (rt_down_trylock (struct semaphore *sem));
Quoted 12 lines · Michal Schmidt
Quoted 6 lines · Ingo Molnar
Quoted 1 line · Ingo Molnar
agreed - i've added your patch to my tree.
with a small modification: i turned the error into a link-time error, because gcc parses both branches and will give a compiler-time warning even if the proper
compat_semaphoreis used.Oh, sorry. I actually had it produce a link-time error at first. But I wanted so much to make it fail at compile time that I screwed it up and didn't test both cases.
Quoted 5 lines
However, what you have in RT-V0.7.47-13 is still not correct. Now it again produces only a warning :-)
Patch attached. This time I really tested it in both cases. For struct semaphore it fails at link-time. For structcompat_semaphoreit compiles without problems.
ok - released -14 with this fix.
Ingo
Replace
init_MUTEX_LOCKED(&policy->lock);
with
init_MUTEX(&policy->lock);
down(&policy->lock);
Compiles here... Would also work upstream.
init_MUTEX_LOCKED() isn't very nice :-(
Esben
Quoted 49 lines · Ingo Molnar
Quoted 6 lines · Michal Schmidt
Quoted 3 lines · I wrote:
I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
Although the patch worked for me, it was probably bogus.
no, it was quite fine i think.
Quoted 7 lines
The real reason why cpufreq caused problems was that it does:
init_MUTEX_LOCKED(&policy->lock);
and later:
up(&policy->lock);
wherepolicy->lockis declared as:
struct semaphore lock;Quoted 7 lines
In
PREEMPT_RT, theinit_MUTEX_LOCKEDis defined ininclude/linux/rt_lock.h:
/*
* No locked initialization for RT semaphores:*/#define
init_MUTEX_LOCKED(sem)compat_init_MUTEX_LOCKED(sem)
(BTW, I don't understand why we haveinit_MUTEXbut noinit_MUTEX_LOCKEDfor RT semaphores).RT semaphores have stricter semantics than Linux semaphores. One property is that there always needs to be an owner of a semaphore. If a semaphore gets initialized as
init_MUTEX_LOCKED, it is a fair indication that the semaphore is really used as a completion object - with no stable owner. (e.g. at insmod time when theinit_MUTEX_LOCKEDis done, the insmod thread will go away after some time, leaving the semaphore 'orphaned')Quoted 2 lines
So the fix is to change the lock type into
compat_semaphore. I'm attaching the patch. It works for me with 2.6.12-rc5-RT-V0.7.47-12.it would be nice to get the conversion to completions upstream. It is a perfectly fine solution. The
compat_semaphorething is another, easier solution.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/
Quoted 8 lines · Michal Schmidt
Hi Ingo,
I'm now running -RT-2.6.12-rc4-V0.7.47-08 on amd64. I use cpufreq, but with the RT kernel it triggers "Kernel BUG at "kernel/latency.c":1295" (the check for
preempt_countunderflow).I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
btw., could you please submit this upstream too, so that it doesnt get lost? Semaphore->completion conversions are desirable upstream for cases where the semaphore was in reality not used for mutual exclusion but for completion purposes. (in which case real completions are both more readable and slightly faster)
Ingo
Quoted 5 lines · Ingo Molnar
Quoted 1 line · Michal Schmidt
I'm attaching a patch which changes a semaphore in cpufreq into a completion. With this patch, my system runs OK even with cpufreqd.
btw., could you please submit this upstream too, so that it doesnt get lost?
Semaphore->completionconversions are desirable upstream for cases where the semaphore was in reality not used for mutual exclusion but for completion purposes. (in which case real completions are both more readable and slightly faster)
Yes, I'm going to contact upstream about this.
However, after closer look on cpufreq code I came to a conclusion that the lock there doesn't really play the role of a completion. There's always: down(), then do something with the data structure, then up() in the same function. I'm going to fix it differently after consulting with upstream author (I now think that it should not be necessary to take the lock in cpufreq_add_dev at all).
Michal
Quoted 7 lines · Michal Schmidt
Yes, I'm going to contact upstream about this. However, after closer look on cpufreq code I came to a conclusion that the lock there doesn't really play the role of a completion. There's always:
down(), then do something with the data structure, thenup()in the same function. I'm going to fix it differently after consulting with upstream author (I now think that it should not be necessary to take the lock incpufreq_add_devat all).
yeah. It would lead to incorrect code to use a completion if the purpose is a real lock. The main non-PREEMPT_RT-compatible use of semaphores is the unlocking of a semaphore the task did not lock itself. It is correct Linux code, so that alone is not a good reason to change upstream (and upstream doesnt and shouldnt bother about PREEMPT_RT at this point) - but if the underlying code is not entirely clean and the cross-owner-use of locks is not justified it might be possible to solve this via a cleanup.
Ingo