* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
@ 2004-11-23 19:24 Mark_H_Johnson
2004-11-23 19:50 ` Adam Heath
0 siblings, 1 reply; 16+ messages in thread
From: Mark_H_Johnson @ 2004-11-23 19:24 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
Thomas Gleixner, Michal Schmidt, Fernando Pablo Lopez-Lezcano,
Karsten Wiese, Gunther Persoons, emann, Shane Shrybman,
Amit Shah, Esben Nielsen
>i have released the -V0.7.30-9 Real-Time Preemption patch,
The profile script (5 second wait, dump data if wait > 10 seconds) was
stuck for over 300 seconds & when it woke up there were 34 jobs waiting
to run. A couple excerpts from the data [will send that separately].
This was with -V0.7.30-7 (PREEMPT_RT) running latencytest & I believe
the disk write test (comparing date/time modified of log files...) plus
a pair of data collecting scripts.
Don't know if this is the journaling problem you mention being fixed
in -9 or not. This huge delay did not recur with the disk copy test.
The odd data point I notice here was the nearly 100% cpu time for
the shell script get_ltrace.sh which is...
#!/bin/sh
let MAX=`cat /proc/sys/kernel/preempt_max_latency`
let I=0 J=1
let MP=${1:-1000}
echo "Current Maximum is $MAX, limit will be $MP."
while (( I < 100 )) ; do
sleep 1s
let NOW=`cat /proc/sys/kernel/preempt_max_latency`
if (( MAX != NOW )) ; then
echo "New trace $I w/ $NOW usec latency."
cat /proc/latency_trace > lt.`printf "%02d" $I`
sync ; sync
let I++
let MAX=NOW
elif (( J++ >= 10 )) ; then
if (( MAX != MP )) ; then
echo "Resetting max latency from $MAX to $MP."
echo $MP > /proc/sys/kernel/preempt_max_latency
let MAX=$MP
else
echo "No new latency samples at `date`."
fi
let J=1
# else do nothing...
fi
done
Perhaps the sync caused the 100% CPU usage for the moment (but certainly
not for five minutes!). It is however suspicious that the total run time
for that script (5:33) is very close to the delay time (336 seconds) for
the profile script. Both of these run at RT FIFO priority 1. There is also
a 5 minute gap in the files generated by get_ltrace.sh as well.
--Mark
--- excerpts follow ---
Tue Nov 23 12:40:48 CST 2004
336 seconds elapsed time.
Load Average ->
36.00 24.57 12.44 36/125 8600
Tasks in RUN state...
PID PRI RTPRIO NI S TIME %CPU CMD
041123-01/prof002.txt: 1 23 - 0 R 00:00:04 0.1 init [5]
041123-01/prof002.txt: 5 34 - -10 R 00:00:00 0.0 [desched/0]
041123-01/prof002.txt: 8 34 - -10 R 00:00:00 0.0 [desched/1]
041123-01/prof002.txt: 100 24 - 0 R 00:00:00 0.0 [pdflush]
041123-01/prof002.txt: 310 24 - 0 R 00:00:00 0.0 [kirqd]
041123-01/prof002.txt: 320 24 - 0 R 00:00:02 0.1 [kjournald]
041123-01/prof002.txt: 1208 23 - 0 R 00:00:03 0.1 [kjournald]
041123-01/prof002.txt: 1803 23 - 0 R 00:00:00 0.0 /sbin/dhclient
-1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid
-cf /etc/dhclient-eth0.conf eth0
041123-01/prof002.txt: 1838 23 - 0 R 00:00:00 0.0 syslogd -m 0
041123-01/prof002.txt: 1909 23 - 0 R 00:00:00 0.0 rpc.idmapd
041123-01/prof002.txt: 2040 23 - 0 R 00:00:18 0.7 /usr/sbin/nscd
041123-01/prof002.txt: 2072 23 - 0 R 00:00:02 0.0 cupsd
041123-01/prof002.txt: 2361 23 - 0 R 00:00:00 0.0 ntpd -U ntp -p
/var/run/ntpd.pid
041123-01/prof002.txt: 2381 23 - 0 R 00:00:00 0.0
/usr/local/nagios/sbin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
041123-01/prof002.txt: 2400 23 - 0 R 00:00:00 0.0 sendmail:
accepting connections
041123-01/prof002.txt: 2426 23 - 0 R 00:00:00 0.0 gpm -m
/dev/input/mice -t imps2
041123-01/prof002.txt: 2551 23 - 0 R 00:00:00 0.0 crond
041123-01/prof002.txt: 2574 23 - 0 R 00:00:00 0.0 xfs -droppriv
-daemon
041123-01/prof002.txt: 2593 23 - 0 R 00:00:00 0.0 /usr/sbin/atd
041123-01/prof002.txt: 2911 23 - 0 R 00:00:00 0.0
/usr/bin/ssh-agent /home/u21305/.Xclients
041123-01/prof002.txt: 2944 23 - 0 R 00:00:00 0.0 kdeinit:
klauncher
041123-01/prof002.txt: 2947 24 - 0 R 00:00:02 0.1 kdeinit: kded
041123-01/prof002.txt: 3174 24 - 0 R 00:00:03 0.1 kdeinit: knotify
041123-01/prof002.txt: 3196 23 - 0 R 00:00:00 0.0 kwrapper
ksmserver
041123-01/prof002.txt: 3201 23 - 0 R 00:00:02 0.0 kdeinit:
kdesktop
041123-01/prof002.txt: 3203 24 - 0 R 00:00:18 0.7 kdeinit: kicker
041123-01/prof002.txt: 3216 23 - 0 R 00:00:00 0.0
/sbin/pam_timestamp_check -d root
041123-01/prof002.txt: 3220 23 - 0 R 00:00:11 0.4 kdeinit: konsole
-session 11c034d757000106674694500000017150004_1101232254_900758
041123-01/prof002.txt: 3624 41 1 0 R 00:00:04 0.2 /bin/sh
./getlog.sh
041123-01/prof002.txt: 3782 4 - 10 R 00:20:05 68.5 ./cpu_burn
041123-01/prof002.txt: 6030 23 - 0 R 00:00:01 0.1
/usr/bin/kdesktop_lock
041123-01/prof002.txt: 8497 21 - 0 R 00:00:06 1.6 head -c
750000000 /dev/zero
041123-01/prof002.txt: 8594 70 1 0 R 00:05:33 99.9 /bin/sh
./get_ltrace.sh 100
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 19:24 [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Mark_H_Johnson
@ 2004-11-23 19:50 ` Adam Heath
0 siblings, 0 replies; 16+ messages in thread
From: Adam Heath @ 2004-11-23 19:50 UTC (permalink / raw)
To: Mark_H_Johnson
Cc: Ingo Molnar, linux-kernel, Lee Revell, Rui Nuno Capela,
K.R. Foley, Bill Huey, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
yOn Tue, 23 Nov 2004, wrote:
> >i have released the -V0.7.30-9 Real-Time Preemption patch,
>
> The profile script (5 second wait, dump data if wait > 10 seconds) was
> stuck for over 300 seconds & when it woke up there were 34 jobs waiting
> to run. A couple excerpts from the data [will send that separately].
> This was with -V0.7.30-7 (PREEMPT_RT) running latencytest & I believe
> the disk write test (comparing date/time modified of log files...) plus
> a pair of data collecting scripts.
Sounds very similiar to the problem I reported with 29-0. I left work late
saturday night, arrived back sunday around 11am, and found the machine saying
the time was 1:15am. I've seen other pauses, were nothing runs. Hitting a
key causes the machine to start responding/running again.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
@ 2004-11-23 18:06 Mark_H_Johnson
2004-11-23 21:15 ` Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Mark_H_Johnson @ 2004-11-23 18:06 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
Thomas Gleixner, Michal Schmidt, Fernando Pablo Lopez-Lezcano,
Karsten Wiese, Gunther Persoons, emann, Shane Shrybman,
Amit Shah, Esben Nielsen
>i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
>downloaded from the usual place:
>
> http://redhat.com/~mingo/realtime-preempt/
Grr. Had downloaded -V0.7.30-7 and was building when this message came in.
I do have a repeatable problem with -7 however (not yet checked in -9).
This
was with PREEMPT_DESKTOP and unthreaded IRQ's (hard and soft). As I look
at the .config differences, also enabled in 7PK (and not 7RT) was
CONFIG_ASM_SEMAPHORES=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
and enabled in 7RT (and not 7PK) was
CONFIG_RT_DEADLOCK_DETECT=y
I should also note that I applied a patch for NMI profiling in my build
as well (but not sure that caused the problem).
The system dies early in the boot process. Locks up and completely not
responsive and no error messages prior to failure. Serial console output
follows at the end of this email.
The PREEMPT_RT kernel I built (same source, only difference was previously
described .config changes) comes up OK.
--Mark
--- first attempt ---
Linux version 2.6.10-rc2-mm2-V0.7.30-7PK (root@dws77) (gcc version 3.3.3
20040412 (Red Hat Linux 3.3.3-7)) #2 SMP Tue Nov 23 10:58:11 CST 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 000000001fff8000 (ACPI data)
BIOS-e820: 000000001fff8000 - 0000000020000000 (ACPI NVS)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
511MB LOWMEM available.
found SMP MP-table at 000fb170
DMI 2.3 present.
Using APIC driver default
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 6:8 APIC version 17
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 6:8 APIC version 17
Using ACPI for processor (LAPIC) configuration information
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
OEM ID: VIA Product ID: VT3075 APIC at: 0xFEE00000
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 2
Built 1 zonelists
Initializing CPU#0
Kernel command line: ro root=LABEL=/ nmi_watchdog=1 single
console=ttyS0,38400n8r profile=2
kernel CPU profiling enabled
kernel profiling shift: 2
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 864.162 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
--- second attempt ---
Linux version 2.6.10-rc2-mm2-V0.7.30-7PK (root@dws77) (gcc version 3.3.3
20040412 (Red Hat Linux 3.3.3-7)) #2 SMP Tue Nov 23 10:58:11 CST 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 000000001fff8000 (ACPI data)
BIOS-e820: 000000001fff8000 - 0000000020000000 (ACPI NVS)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
511MB LOWMEM available.
found SMP MP-table at 000fb170
DMI 2.3 present.
Using APIC driver default
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 6:8 APIC version 17
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 6:8 APIC version 17
Using ACPI for processor (LAPIC) configuration information
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
OEM ID: VIA Product ID: VT3075 APIC at: 0xFEE00000
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 2
Built 1 zonelists
Initializing CPU#0
Kernel command line: ro root=LABEL=/ nmi_watchdog=1 single
console=ttyS0,38400n8r profile=2
kernel CPU profiling enabled
kernel profiling shift: 2
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 864.157 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: 511160k/524224k available (2236k kernel code, 12524k reserved, 634k
data, 236k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode...
Ok.
Security Framework v1.0.0 initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
selinux_register_security: Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support...
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 18:06 Mark_H_Johnson
@ 2004-11-23 21:15 ` Ingo Molnar
0 siblings, 0 replies; 16+ messages in thread
From: Ingo Molnar @ 2004-11-23 21:15 UTC (permalink / raw)
To: Mark_H_Johnson
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, K.R. Foley, Bill Huey,
Adam Heath, Florian Schmidt, Thomas Gleixner, Michal Schmidt,
Fernando Pablo Lopez-Lezcano, Karsten Wiese, Gunther Persoons,
emann, Shane Shrybman, Amit Shah, Esben Nielsen
* Mark_H_Johnson@raytheon.com <Mark_H_Johnson@raytheon.com> wrote:
> I do have a repeatable problem with -7 however (not yet checked in
> -9). This was with PREEMPT_DESKTOP and unthreaded IRQ's (hard and
> soft). [...]
> The system dies early in the boot process. Locks up and completely not
> responsive and no error messages prior to failure. Serial console
> output follows at the end of this email.
> The PREEMPT_RT kernel I built (same source, only difference was
> previously described .config changes) comes up OK.
i can reproduce the PREEMPT_DESKTOP boot-time hang too, it is a recent
breakage.
Ingo
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23
@ 2004-11-09 16:05 Ingo Molnar
2004-11-11 14:44 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-09 16:05 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
i 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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0
2004-11-09 16:05 [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23 Ingo Molnar
@ 2004-11-11 14:44 ` Ingo Molnar
2004-11-11 21:51 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-11 14:44 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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_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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1
2004-11-11 14:44 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0 Ingo Molnar
@ 2004-11-11 21:51 ` Ingo Molnar
2004-11-16 12:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-11 21:51 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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_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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0
2004-11-11 21:51 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1 Ingo Molnar
@ 2004-11-16 12:54 ` Ingo Molnar
2004-11-16 13:09 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-16 12:54 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
i 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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1
2004-11-16 12:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0 Ingo Molnar
@ 2004-11-16 13:09 ` Ingo Molnar
2004-11-16 13:40 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-16 13:09 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3
2004-11-16 13:09 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1 Ingo Molnar
@ 2004-11-16 13:40 ` Ingo Molnar
2004-11-17 12:42 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-16 13:40 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0
2004-11-16 13:40 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3 Ingo Molnar
@ 2004-11-17 12:42 ` Ingo Molnar
2004-11-18 12:35 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-17 12:42 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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:
- 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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1
2004-11-17 12:42 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0 Ingo Molnar
@ 2004-11-18 12:35 ` Ingo Molnar
2004-11-18 16:46 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-18 12:35 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
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-)
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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0
2004-11-18 12:35 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1 Ingo Molnar
@ 2004-11-18 16:46 ` Ingo Molnar
2004-11-22 0:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-18 16:46 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah
i 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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
2004-11-18 16:46 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0 Ingo Molnar
@ 2004-11-22 0:54 ` Ingo Molnar
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-22 0:54 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
i 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
^ permalink raw reply [flat|nested] 16+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-22 0:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Ingo Molnar
@ 2004-11-23 17:58 ` Ingo Molnar
2004-11-23 17:53 ` K.R. Foley
` (4 more replies)
0 siblings, 5 replies; 16+ messages in thread
From: Ingo Molnar @ 2004-11-23 17:58 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a fixes-only release.
most importantly it includes a JACK related latency fix. With Florian
Schmidt's great detective work we honed in on a big latency source
within JACK: the use of named pipes (fifos) on journalled filesystems.
This issue has been empirically identified before (and is mentioned in
the JACK howto) but has never been given high enough prominence. It
turns out that the atime updates done while read()ing or write()ing
named pipes causes the delays - it may under certain circumstances call
out into the journalling code. It may block even on non-journalled
filesystems.
To work this issue around, when PREEMPT_RT is enabled the -30-9 kernel
skips atime updates on named-fifos. (it's pretty pointless anyway.)
Alternative userspace workarounds are to put the fifos on tmpfs/ramfs,
or to mark the filesystem noatime,nodiratime.
those experiencing xruns under JACK should definitely try the -30-9
kernel.
Changes since -V0.7.30-2:
- named fifo reads/writes are now atomic, whenever possible
- fixed pi_lock related SMP & CRITICAL_IRQSOFF_TIMING lockups, this
could resolve the lockups reported by Mark H. Johnson.
- fixed one more PI buglet: wake up the new owner _after_ restoring
the priority of the old owner.
- made the NMI oopser more robust - it should print out some message
in pretty much any locking scenario.
- added the blocker device used by Esben Nielsen's pi_test suite.
- added user-triggerable ALSA xrun tracing to the patch: if a
sound IO channel has xrun_debug enabled in /proc then
user_trace_stop() will be called before printing the xrun message,
and the current trace will be saved to /proc/latency_trace. This is a
'one-shot' tracing method for now. I can be activated via:
echo 1 > /proc/asound/card0/pcm0p/xrun_debug
echo 1 > /proc/sys/kernel/trace_user_triggered
echo 1 > /proc/sys/kernel/trace_freerunning
echo 0 > /proc/sys/kernel/preempt_max_latency
echo 0 > /proc/sys/kernel/preempt_thresh
echo 0 > /proc/sys/kernel/preempt_wakeup_timing
./gettimeofday 0 1
gettimeofday.c is attached below. The JACK fifo xrun source was found
via this tracing facility.
to create a -V0.7.30-9 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-9
Ingo
-- gettimeofday.c:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/wait.h>
#include <linux/unistd.h>
int main (int argc, char **argv)
{
if (argc != 3) {
printf("usage: gettimeofday <val1> <val2>\n");
exit(0);
}
gettimeofday(atol(argv[1]), atol(argv[2]));
return 0;
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
@ 2004-11-23 17:53 ` K.R. Foley
2004-11-23 18:01 ` K.R. Foley
` (3 subsequent siblings)
4 siblings, 0 replies; 16+ messages in thread
From: K.R. Foley @ 2004-11-23 17:53 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
[-- Attachment #1: Type: text/plain, Size: 1071 bytes --]
Ingo Molnar wrote:
> i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>
A couple of observations that I would like to share:
1) With all of the tracing compiled in, there is a measurable amount of
additional latency, even when the tracing is disabled via the proc
interfaces. So if you want to measure best-case (or worst-case)
latencies turn off the tracing facilities to do so. For example, using a
blocking read, the worst case latency from interrupt to read: wo/tracing
~68 usec, w/tracing ~110 usec. I am attaching two histograms generated
by the rtc histogram by running a slightly modified version of realfeel.
2) Also there is a big difference in latencies between blocking reads
and using signals to notify the process that data is available. I am
also attaching a histogram generated by the rtc histogram by running
amlat. Part of the numbers in the > 10 msec bucket are into the hundreds
of msecs.
All of these numbers were generated using a comparable load from
stress-kernel.
kr
[-- Attachment #2: notraceread.txt --]
[-- Type: text/plain, Size: 475 bytes --]
No tracing using read:
rtc latency histogram of {realfeel/5162, 671921 samples}:
3 221135
4 32396
5 38047
6 62650
7 99079
8 62347
9 47702
10 37572
11 27323
12 16734
13 9889
14 6081
15 3607
16 2214
17 1440
18 784
19 494
20 355
21 269
22 215
23 186
24 163
25 124
26 123
27 93
28 85
29 85
30 90
31 80
32 61
33 72
34 47
35 53
36 49
37 39
38 29
39 26
40 22
41 15
42 19
43 18
44 23
45 15
46 12
47 4
48 10
49 12
50 4
51 4
52 4
53 3
54 2
55 4
56 3
57 2
59 1
60 1
61 1
62 1
67 1
68 2
[-- Attachment #3: traceon.txt --]
[-- Type: text/plain, Size: 3359 bytes --]
Tracing on using read:
Nov 22 19:37:39 porky kernel: rtc latency histogram of {realfeel/6592, 487037 samples}:
Nov 22 19:37:39 porky kernel: 13 10
Nov 22 19:37:39 porky kernel: 14 88142
Nov 22 19:37:39 porky kernel: 15 113256
Nov 22 19:37:39 porky kernel: 16 77884
Nov 22 19:37:39 porky kernel: 17 60492
Nov 22 19:37:39 porky kernel: 18 41451
Nov 22 19:37:39 porky kernel: 19 23587
Nov 22 19:37:39 porky kernel: 20 15409
Nov 22 19:37:39 porky kernel: 21 11975
Nov 22 19:37:39 porky kernel: 22 14672
Nov 22 19:37:39 porky kernel: 23 11843
Nov 22 19:37:39 porky kernel: 24 8318
Nov 22 19:37:39 porky kernel: 25 5595
Nov 22 19:37:39 porky kernel: 26 3546
Nov 22 19:37:39 porky kernel: 27 2057
Nov 22 19:37:39 porky kernel: 28 1192
Nov 22 19:37:39 porky kernel: 29 819
Nov 22 19:37:39 porky kernel: 30 682
Nov 22 19:37:39 porky kernel: 31 665
Nov 22 19:37:39 porky kernel: 32 662
Nov 22 19:37:39 porky kernel: 33 540
Nov 22 19:37:39 porky kernel: 34 494
Nov 22 19:37:39 porky kernel: 35 433
Nov 22 19:37:39 porky kernel: 36 290
Nov 22 19:37:39 porky kernel: 37 227
Nov 22 19:37:39 porky kernel: 38 189
Nov 22 19:37:39 porky kernel: 39 129
Nov 22 19:37:39 porky kernel: 40 110
Nov 22 19:37:39 porky kernel: 41 78
Nov 22 19:37:39 porky kernel: 42 85
Nov 22 19:37:39 porky kernel: 43 102
Nov 22 19:37:39 porky kernel: 44 314
Nov 22 19:37:39 porky kernel: 45 189
Nov 22 19:37:39 porky kernel: 46 137
Nov 22 19:37:39 porky kernel: 47 105
Nov 22 19:37:39 porky kernel: 48 147
Nov 22 19:37:39 porky kernel: 49 101
Nov 22 19:37:39 porky kernel: 50 99
Nov 22 19:37:39 porky kernel: 51 93
Nov 22 19:37:39 porky kernel: 52 61
Nov 22 19:37:39 porky kernel: 53 57
Nov 22 19:37:39 porky kernel: 54 44
Nov 22 19:37:39 porky kernel: 55 50
Nov 22 19:37:39 porky kernel: 56 49
Nov 22 19:37:39 porky kernel: 57 50
Nov 22 19:37:39 porky kernel: 58 48
Nov 22 19:37:39 porky kernel: 59 49
Nov 22 19:37:39 porky kernel: 60 41
Nov 22 19:37:39 porky kernel: 61 31
Nov 22 19:37:39 porky kernel: 62 23
Nov 22 19:37:39 porky kernel: 63 19
Nov 22 19:37:39 porky kernel: 64 23
Nov 22 19:37:39 porky kernel: 65 27
Nov 22 19:37:39 porky kernel: 66 18
Nov 22 19:37:39 porky kernel: 67 17
Nov 22 19:37:39 porky kernel: 68 15
Nov 22 19:37:39 porky kernel: 69 16
Nov 22 19:37:39 porky kernel: 70 17
Nov 22 19:37:39 porky kernel: 71 11
Nov 22 19:37:39 porky kernel: 72 11
Nov 22 19:37:39 porky kernel: 73 19
Nov 22 19:37:40 porky kernel: 74 15
Nov 22 19:37:40 porky kernel: 75 24
Nov 22 19:37:40 porky kernel: 76 26
Nov 22 19:37:40 porky kernel: 77 14
Nov 22 19:37:40 porky kernel: 78 15
Nov 22 19:37:40 porky kernel: 79 17
Nov 22 19:37:40 porky kernel: 80 19
Nov 22 19:37:40 porky kernel: 81 12
Nov 22 19:37:40 porky kernel: 82 4
Nov 22 19:37:40 porky kernel: 83 7
Nov 22 19:37:40 porky kernel: 84 9
Nov 22 19:37:40 porky kernel: 85 8
Nov 22 19:37:40 porky kernel: 86 11
Nov 22 19:37:40 porky kernel: 87 8
Nov 22 19:37:40 porky kernel: 88 4
Nov 22 19:37:40 porky kernel: 89 3
Nov 22 19:37:40 porky kernel: 90 1
Nov 22 19:37:40 porky kernel: 91 5
Nov 22 19:37:40 porky kernel: 92 5
Nov 22 19:37:40 porky kernel: 94 3
Nov 22 19:37:40 porky kernel: 95 1
Nov 22 19:37:40 porky kernel: 96 2
Nov 22 19:37:40 porky kernel: 97 2
Nov 22 19:37:40 porky kernel: 98 2
Nov 22 19:37:40 porky kernel: 99 1
Nov 22 19:37:40 porky kernel: 101 1
Nov 22 19:37:40 porky kernel: 107 2
Nov 22 19:37:40 porky kernel: 110 1
[-- Attachment #4: notracesig.txt --]
[-- Type: text/plain, Size: 772 bytes --]
No tracing using signals:
rtc latency histogram of {amlat/7215, 535020 samples}:
4 1
9 18916
10 125448
11 29422
12 41496
13 22222
14 15344
15 12256
16 10935
17 11157
18 11192
19 11456
20 12994
21 13832
22 14704
23 14330
24 12625
25 11837
26 11839
27 11206
28 10307
29 10057
30 10183
31 13115
32 11438
33 11897
34 11559
35 7817
36 5823
37 4660
38 3944
39 3106
40 2763
41 2424
42 1961
43 1729
44 1348
45 1154
46 984
47 801
48 682
49 537
50 467
51 345
52 288
53 214
54 182
55 162
56 131
57 117
58 135
59 118
60 111
61 120
62 118
63 89
64 103
65 95
66 92
67 85
68 62
69 45
70 61
71 39
72 29
73 40
74 28
75 25
76 25
77 18
78 18
79 11
80 13
81 9
82 13
83 10
84 11
85 5
86 2
87 4
88 2
89 3
90 2
91 5
92 2
93 1
94 2
95 4
96 3
97 2
98 1
99 3
103 1
104 1
108 2
118 1
7860 1
9999 43
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
2004-11-23 17:53 ` K.R. Foley
@ 2004-11-23 18:01 ` K.R. Foley
2004-11-24 0:28 ` Florian Schmidt
` (2 subsequent siblings)
4 siblings, 0 replies; 16+ messages in thread
From: K.R. Foley @ 2004-11-23 18:01 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
Ingo Molnar wrote:
> i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>
A couple of observations that I would like to share:
One other thing regarding my last email. The numbers were generated
using -V0.7.30-3, not -9. Sorry.
kr
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
2004-11-23 17:53 ` K.R. Foley
2004-11-23 18:01 ` K.R. Foley
@ 2004-11-24 0:28 ` Florian Schmidt
2004-11-24 3:19 ` Ingo Molnar
2004-11-24 0:58 ` Lee Revell
2004-11-24 19:23 ` Fernando Lopez-Lezcano
4 siblings, 1 reply; 16+ messages in thread
From: Florian Schmidt @ 2004-11-24 0:28 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
[-- Attachment #1: Type: text/plain, Size: 2220 bytes --]
On Tue, 23 Nov 2004 18:58:23 +0100
Ingo Molnar <mingo@elte.hu> wrote:
>
> - added user-triggerable ALSA xrun tracing to the patch: if a
> sound IO channel has xrun_debug enabled in /proc then
> user_trace_stop() will be called before printing the xrun message,
> and the current trace will be saved to /proc/latency_trace. This is a
> 'one-shot' tracing method for now. I can be activated via:
>
> echo 1 > /proc/asound/card0/pcm0p/xrun_debug
>
> echo 1 > /proc/sys/kernel/trace_user_triggered
> echo 1 > /proc/sys/kernel/trace_freerunning
> echo 0 > /proc/sys/kernel/preempt_max_latency
> echo 0 > /proc/sys/kernel/preempt_thresh
> echo 0 > /proc/sys/kernel/preempt_wakeup_timing
>
> ./gettimeofday 0 1
>
> gettimeofday.c is attached below. The JACK fifo xrun source was found
> via this tracing facility.
Hi, i have some problem with unresolved symbols loading my alsa sound
card driver with this kernel version. At first i suspected an unclean
build, but then i did make clean bzImage modules and the unresolved
symbols persist (i have wakeup/nonpreemptible/interrupts-off tracing
enabled (see .config)):
snd_pcm: Unknown symbol user_trace_stop
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
snd_cs46xx: Unknown symbol snd_ac97_write_cache
snd_cs46xx: Unknown symbol snd_pcm_new
snd_cs46xx: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
snd_cs46xx: Unknown symbol snd_pcm_format_unsigned
snd_cs46xx: Unknown symbol snd_pcm_format_physical_width
snd_cs46xx: Unknown symbol snd_ac97_mixer
snd_cs46xx: Unknown symbol snd_ac97_bus
snd_cs46xx: Unknown symbol snd_pcm_lib_malloc_pages
snd_cs46xx: Unknown symbol snd_pcm_lib_ioctl
snd_cs46xx: Unknown symbol snd_pcm_lib_free_pages
snd_cs46xx: Unknown symbol snd_pcm_set_ops
snd_cs46xx: Unknown symbol snd_pcm_hw_constraint_list
snd_cs46xx: Unknown symbol snd_pcm_format_big_endian
snd_cs46xx: Unknown symbol snd_pcm_lib_preallocate_free_for_all
snd_cs46xx: Unknown symbol snd_pcm_period_elapsed
snd_cs46xx: Unknown symbol snd_ac97_write
snd_cs46xx: Unknown symbol snd_ac97_read
snd_cs46xx: Unknown symbol snd_pcm_format_width
.config attached
flo
[-- Attachment #2: .config --]
[-- Type: application/octet-stream, Size: 26525 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2-mm2-V0.7.30-9
# Wed Nov 24 00:25:10 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_HOTPLUG is not set
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_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 set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# 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 set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_PREEMPT_BKL=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_TSC=y
# CONFIG_X86_MCE is not set
# 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_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y
#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set
CONFIG_KERN_PHYS_OFFSET=1
# CONFIG_KEXEC is not set
#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
#
# 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 set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# 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
#
#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# 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 set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_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=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# 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 set
# CONFIG_BLK_DEV_PIIX is not set
# 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=y
# 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_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_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_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O 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_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_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR 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 set
CONFIG_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_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG 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=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE 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
# CONFIG_INET_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# 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 set
# 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 set
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM 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
#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
#
# 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 set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_ETHERTAP is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH 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 set
# CONFIG_8139TOO is not set
CONFIG_SIS900=m
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE 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 is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_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=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_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 set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_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 set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_UINPUT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_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_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_RTC_HISTOGRAM is not set
# CONFIG_BLOCKER 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 set
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
CONFIG_AGP_SIS=m
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m
#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
# CONFIG_I2C_STUB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set
#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not set
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
# CONFIG_SENSORS_LM87 is not set
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m
#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_RTC8564=m
# 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 is not set
CONFIG_VIDEO_SELECT=y
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_MEMORY is not set
# CONFIG_SND_DEBUG_DETECT is not set
#
# Generic devices
#
CONFIG_SND_DUMMY=m
# 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
#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# 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=m
CONFIG_SND_CS46XX_NEW_DSP=y
# 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 set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#
# CONFIG_USB is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_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=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_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=m
# 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 is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# 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=m
CONFIG_RXRPC=m
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_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=y
# 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=y
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_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=y
# 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=y
CONFIG_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 set
CONFIG_WAKEUP_TIMING=y
CONFIG_CRITICAL_PREEMPT_TIMING=y
CONFIG_CRITICAL_IRQSOFF_TIMING=y
CONFIG_CRITICAL_TIMING=y
CONFIG_LATENCY_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
# CONFIG_RT_DEADLOCK_DETECT is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
CONFIG_FRAME_POINTER=y
CONFIG_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 set
# CONFIG_KGDB is not set
#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_CAPABILITIES=m
# CONFIG_SECURITY_SECLVL is not set
CONFIG_SECURITY_REALTIME=m
# CONFIG_SECURITY_SELINUX 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_WP512 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_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 set
# CONFIG_CRYPTO_ANUBIS 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_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 0:28 ` Florian Schmidt
@ 2004-11-24 3:19 ` Ingo Molnar
2004-11-24 2:48 ` Florian Schmidt
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-24 3:19 UTC (permalink / raw)
To: Florian Schmidt
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
* Florian Schmidt <mista.tapas@gmx.net> wrote:
> Hi, i have some problem with unresolved symbols loading my alsa sound
> card driver with this kernel version. At first i suspected an unclean
> build, but then i did make clean bzImage modules and the unresolved
> symbols persist (i have wakeup/nonpreemptible/interrupts-off tracing
> enabled (see .config)):
>
> snd_pcm: Unknown symbol user_trace_stop
does adding this line to kernel/latency.c resolve it?:
EXPORT_SYMBOL(user_trace_stop);
Ingo
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 3:19 ` Ingo Molnar
@ 2004-11-24 2:48 ` Florian Schmidt
0 siblings, 0 replies; 16+ messages in thread
From: Florian Schmidt @ 2004-11-24 2:48 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
On Wed, 24 Nov 2004 04:19:08 +0100
Ingo Molnar <mingo@elte.hu> wrote:
>
> * Florian Schmidt <mista.tapas@gmx.net> wrote:
>
> > Hi, i have some problem with unresolved symbols loading my alsa sound
> > card driver with this kernel version. At first i suspected an unclean
> > build, but then i did make clean bzImage modules and the unresolved
> > symbols persist (i have wakeup/nonpreemptible/interrupts-off tracing
> > enabled (see .config)):
> >
> > snd_pcm: Unknown symbol user_trace_stop
>
> does adding this line to kernel/latency.c resolve it?:
>
> EXPORT_SYMBOL(user_trace_stop);
yes, modules load fine now. thanks.
flo
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
` (2 preceding siblings ...)
2004-11-24 0:28 ` Florian Schmidt
@ 2004-11-24 0:58 ` Lee Revell
2004-11-24 3:45 ` Ingo Molnar
2004-11-24 19:23 ` Fernando Lopez-Lezcano
4 siblings, 1 reply; 16+ messages in thread
From: Lee Revell @ 2004-11-24 0:58 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
On Tue, 2004-11-23 at 18:58 +0100, Ingo Molnar wrote:
> i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>
> http://redhat.com/~mingo/realtime-preempt/
I have notices some weird interactivity issues with this. These are
also present in T3.
The symptom is that CPU bound tasks like kernel compiles will starve I/O
bound tasks like evolution for a _long_ time. If I have a kernel build
and external modules building at the same time and Evolution goes to
"Update message list...", it can sit and spin with a blank message pane
for a minute or two. If I suspend the builds, the message list renders
immediately.
It seems like the build process is constantly preempting the Evolution
process, preventing the latter from making much progress. The build on
the other hand progresses fine.
AIUI I/O bound, interactive tasks like a mail client should get
scheduled in preference to CPU bound tasks like builds. The scheduler
has heuristics to distinguish the two types of tasks and boosts the
dynamic priority of the former, right? It seems like exactly the
opposite is happening.
Another possibility is that Evolution really DOES use so many cycles to
generate the message list that it looks like a CPU bound process to the
kernel. Unfortunately I think this seems most likely. For example,
evolution still consumes a hell of a lot of CPU at a low nice value. It
just makes other tasks stall this way.
Do I need to just find a better mail client?
Lee
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 0:58 ` Lee Revell
@ 2004-11-24 3:45 ` Ingo Molnar
2004-11-24 13:33 ` Steven Rostedt
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-24 3:45 UTC (permalink / raw)
To: Lee Revell
Cc: linux-kernel, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
* Lee Revell <rlrevell@joe-job.com> wrote:
> On Tue, 2004-11-23 at 18:58 +0100, Ingo Molnar wrote:
> > i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
> > downloaded from the usual place:
> >
> > http://redhat.com/~mingo/realtime-preempt/
>
> I have notices some weird interactivity issues with this. These are
> also present in T3.
>
> The symptom is that CPU bound tasks like kernel compiles will starve
> I/O bound tasks like evolution for a _long_ time. If I have a kernel
> build and external modules building at the same time and Evolution
> goes to "Update message list...", it can sit and spin with a blank
> message pane for a minute or two. If I suspend the builds, the
> message list renders immediately.
could you try the vanilla -rc2-mm2 kernel (with PREEMPT enabled), does
it behave in such a way too? At first sight this could be a property of
the upstream scheduler, but maybe it's special to PREEMPT_RT.
Ingo
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 3:45 ` Ingo Molnar
@ 2004-11-24 13:33 ` Steven Rostedt
0 siblings, 0 replies; 16+ messages in thread
From: Steven Rostedt @ 2004-11-24 13:33 UTC (permalink / raw)
To: Ingo Molnar
Cc: Lee Revell, LKML, Rui Nuno Capela, Mark Johnson, K.R. Foley,
Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
Gunther Persoons, emann, Shane Shrybman, Amit Shah,
Esben Nielsen
On Wed, 2004-11-24 at 04:45 +0100, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> >
> > The symptom is that CPU bound tasks like kernel compiles will starve
> > I/O bound tasks like evolution for a _long_ time. If I have a kernel
> > build and external modules building at the same time and Evolution
> > goes to "Update message list...", it can sit and spin with a blank
> > message pane for a minute or two. If I suspend the builds, the
> > message list renders immediately.
>
> could you try the vanilla -rc2-mm2 kernel (with PREEMPT enabled), does
> it behave in such a way too? At first sight this could be a property of
> the upstream scheduler, but maybe it's special to PREEMPT_RT.
>
Have you notice this behavior with other interactive (I/O) tasks, such
as bash. Evolution is quite a big utility, and might be doing something
in the background. If you see the same behavior with bash then there is
no doubt that the compile is slowing down an I/O intensive task.
Another variable can be memory. Are you running this on something with
adequate memory, or is you harddrive churning like mad and you're
constantly thrashing the swap space?
-- Steve
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
` (3 preceding siblings ...)
2004-11-24 0:58 ` Lee Revell
@ 2004-11-24 19:23 ` Fernando Lopez-Lezcano
2004-11-24 22:17 ` Ingo Molnar
4 siblings, 1 reply; 16+ messages in thread
From: Fernando Lopez-Lezcano @ 2004-11-24 19:23 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
Thomas Gleixner, Michal Schmidt, Karsten Wiese, Gunther Persoons,
emann, Shane Shrybman, Amit Shah, Esben Nielsen
On Tue, 2004-11-23 at 09:58, Ingo Molnar wrote:
> i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>
> http://redhat.com/~mingo/realtime-preempt/
>
> this is a fixes-only release.
Using PREEMPT_DESKTOP I see a irq related problem with my network
interface:
cat /proc/interrupts
CPU0
0: 134209 IO-APIC-edge timer 0/34148
1: 221 IO-APIC-edge i8042 0/221
8: 1 IO-APIC-edge rtc 0/1
9: 0 IO-APIC-level acpi 0/0
11: 0 IO-APIC-edge radeon@PCI:1:0:0 0/0
12: 2215 IO-APIC-edge i8042 0/2215
14: 650 IO-APIC-edge ide0 2/648
16: 100000 IO-APIC-level eth0 0/0
17: 59 IO-APIC-level libata, libata 0/59
18: 0 IO-APIC-level ICE1712 0/0
20: 15160 IO-APIC-level libata 0/15160
21: 0 IO-APIC-level ehci_hcd, uhci_hcd, uhci_hcd, uhci_hcd,
uhci_hcd 0/0
NMI: 0
LOC: 134034
ERR: 0
MIS: 0
relevant portion of dmesg:
ip_tables: (C) 2000-2002 Netfilter core team
ip_conntrack version 2.1 (8192 buckets, 65536 max) - 304 bytes per
conntrack
r8169 Gigabit Ethernet driver 1.6LK loaded
ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16
divert: allocating divert_blk for eth0
eth0: Identified chip type is 'RTL8169s/8110s'.
eth0: RTL8169 at 0xf88b6f00, 00:0c:76:b3:c2:43, IRQ 16
IRQ#16 thread RT prio: 40.
hm: ioapic cache empty for irq 16 (e:00000000/d:00010000) 0001a9c1
r8169: eth0: link up
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.5
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
IRQ#4 thread RT prio: 39.
parport_pc: Ignoring new-style parameters in presence of obsolete ones
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
parport0: irq 7 detected
lp0: using parport0 (polling).
lp0: console ready
NET: Registered protocol family 10
Disabled Privacy Extensions on device c03d7e80(lo)
IPv6 over IPv4 tunneling driver
divert: not allocating divert_blk for non-ethernet device sit0
eth0: no IPv6 routers present
[drm] Initialized radeon 1.11.0 20020828 on minor 0:
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 4x mode
agpgart: Putting AGP V3 device at 0000:01:00.0 into 4x mode
[drm] Loading R200 Microcode
IRQ#11 thread RT prio: 38.
irq 16: nobody cared!
[<c0104173>] dump_stack+0x23/0x30 (20)
[<c0147970>] __report_bad_irq+0x30/0xa0 (24)
[<c0147a80>] note_interrupt+0x70/0xb0 (32)
[<c01477dc>] do_hardirq+0x13c/0x150 (40)
[<c0147889>] do_irqd+0x99/0xd0 (32)
[<c0139fda>] kthread+0xaa/0xb0 (48)
[<c0101335>] kernel_thread_helper+0x5/0x10 (153083924)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c014777a>] .... do_hardirq+0xda/0x150
.....[<c0147889>] .. ( <= do_irqd+0x99/0xd0)
.. [<c013c98d>] .... print_traces+0x1d/0x60
.....[<c0104173>] .. ( <= dump_stack+0x23/0x30)
handlers:
[<f892ce60>] (rtl8169_interrupt+0x0/0x140 [r8169])
Disabling IRQ #16
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 18
IRQ#18 thread RT prio: 37.
hm: ioapic cache empty for irq 18 (e:00000000/d:00010000) 0001a9c9
output of lspci -v for the card:
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169
Gigabit Ethernet (rev 10)
Subsystem: Micro-Star International Co., Ltd.: Unknown device 702c
Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 16
I/O ports at d000 [size=cffa0000]
Memory at cfffef00 (32-bit, non-prefetchable) [size=256]
Expansion ROM at 00020000 [disabled]
Capabilities: [dc] Power Management version 2
-- Fernando
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 19:23 ` Fernando Lopez-Lezcano
@ 2004-11-24 22:17 ` Ingo Molnar
2004-11-24 21:56 ` Fernando Lopez-Lezcano
0 siblings, 1 reply; 16+ messages in thread
From: Ingo Molnar @ 2004-11-24 22:17 UTC (permalink / raw)
To: Fernando Lopez-Lezcano
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
Thomas Gleixner, Michal Schmidt, Karsten Wiese, Gunther Persoons,
emann, Shane Shrybman, Amit Shah, Esben Nielsen
* Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU> wrote:
> Using PREEMPT_DESKTOP I see a irq related problem with my network
> interface:
> IRQ#11 thread RT prio: 38.
> irq 16: nobody cared!
> [<c0104173>] dump_stack+0x23/0x30 (20)
> [<c0147970>] __report_bad_irq+0x30/0xa0 (24)
> [<c0147a80>] note_interrupt+0x70/0xb0 (32)
> [<c01477dc>] do_hardirq+0x13c/0x150 (40)
> [<c0147889>] do_irqd+0x99/0xd0 (32)
> [<c0139fda>] kthread+0xaa/0xb0 (48)
> [<c0101335>] kernel_thread_helper+0x5/0x10 (153083924)
does it otherwise get detected and does it work fine afterwards?
Ingo
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9
2004-11-24 22:17 ` Ingo Molnar
@ 2004-11-24 21:56 ` Fernando Lopez-Lezcano
0 siblings, 0 replies; 16+ messages in thread
From: Fernando Lopez-Lezcano @ 2004-11-24 21:56 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
Thomas Gleixner, Michal Schmidt, Karsten Wiese, Gunther Persoons,
emann, Shane Shrybman, Amit Shah, Esben Nielsen
On Wed, 2004-11-24 at 14:17, Ingo Molnar wrote:
> * Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU> wrote:
>
> > Using PREEMPT_DESKTOP I see a irq related problem with my network
> > interface:
(I don't think this is only with PREEMPT_DESKTOP, on a previous kernel
_RT was giving the same error)
> > IRQ#11 thread RT prio: 38.
> > irq 16: nobody cared!
> > [<c0104173>] dump_stack+0x23/0x30 (20)
> > [<c0147970>] __report_bad_irq+0x30/0xa0 (24)
> > [<c0147a80>] note_interrupt+0x70/0xb0 (32)
> > [<c01477dc>] do_hardirq+0x13c/0x150 (40)
> > [<c0147889>] do_irqd+0x99/0xd0 (32)
> > [<c0139fda>] kthread+0xaa/0xb0 (48)
> > [<c0101335>] kernel_thread_helper+0x5/0x10 (153083924)
>
> does it otherwise get detected and does it work fine afterwards?
Anything network related activity hangs (for example, trying to ping).
Otherwise the machine seems to work.
Same kernel on my laptop loads the network driver with no problems
(different driver, e100), but has problems with the usb uhci-hcd driver.
This is when the driver is loaded:
USB Universal Host Controller Interface driver v2.2
ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 9 (level, low) -> IRQ 9
uhci_hcd 0000:00:1d.0: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: irq 9, io base 0x1800
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 9
ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 9 (level, low) -> IRQ 9
uhci_hcd 0000:00:1d.1: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: irq 9, io base 0x1820
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 9
ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 9 (level, low) -> IRQ 9
uhci_hcd 0000:00:1d.2: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: irq 9, io base 0x1840
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
usb 3-1: new full speed USB device using uhci_hcd and address 2
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
Vendor: Sony Model: MSC-U03 Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 00
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0
usb-storage: device scan complete
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
uhci_hcd 0000:00:1d.0: remove, state 1
usb usb1: USB disconnect, address 1
Device not ready. Make sure there is a disc in the drive.
Device not ready. Make sure there is a disc in the drive.
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
uhci_hcd 0000:00:1d.0: USB bus 1 deregistered
uhci_hcd 0000:00:1d.1: remove, state 1
usb usb2: USB disconnect, address 1
Device not ready. Make sure there is a disc in the drive.
Device not ready. Make sure there is a disc in the drive.
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
Also, after the driver is loaded I get a "subdevfs not supported in
kernel" message when I try to:
mount -t usbdevfs usbdevfs /proc/bus/usb
But I do have (I think) the right kernel options for this to work...
And this is when I try to remove it:
uhci_hcd 0000:00:1d.1: USB bus 2 deregistered
uhci_hcd 0000:00:1d.2: remove, state 1
usb usb3: USB disconnect, address 1
usb 3-1: USB disconnect, address 2
rmmod/3999: BUG in do_drain at mm/slab.c:1522
[<c0104173>] dump_stack+0x23/0x30 (20)
[<c0151fc9>] do_drain+0xb9/0xc0 (44)
[<c0151ece>] smp_call_function_all_cpus+0x2e/0x70 (28)
[<c0151ff1>] drain_cpu_caches+0x21/0x90 (24)
[<c0152079>] __cache_shrink+0x19/0x160 (36)
[<c01522cf>] kmem_cache_destroy+0xaf/0x1c0 (28)
[<e094657b>] scsi_destroy_command_freelist+0x6b/0xa0 [scsi_mod] (28)
[<e0947917>] scsi_host_dev_release+0x37/0xa0 [scsi_mod] (36)
[<c0271725>] device_release+0x85/0x90 (32)
[<c01ef505>] kobject_cleanup+0x95/0xa0 (28)
[<c01f00f5>] kref_put+0x45/0x100 (40)
[<c01ef556>] kobject_put+0x26/0x30 (16)
[<e0adfd18>] usb_stor_release_resources+0x78/0x150 [usb_storage] (24)
[<e0ae0294>] storage_disconnect+0xa4/0xb1 [usb_storage] (20)
[<c02ba207>] usb_unbind_interface+0x87/0x90 (28)
[<c0272e46>] device_release_driver+0x86/0x90 (28)
[<c0273109>] bus_remove_device+0x89/0xd0 (28)
[<c0271c14>] device_del+0x74/0xb0 (28)
[<c02c1fd8>] usb_disable_device+0xb8/0x100 (28)
[<c02bcb76>] usb_disconnect+0xc6/0x1a0 (40)
[<c02bcc18>] usb_disconnect+0x168/0x1a0 (40)
[<c02c50d5>] usb_hcd_pci_remove+0x85/0x1c0 (36)
[<c01fbec6>] pci_device_remove+0x46/0x50 (16)
[<c0272e46>] device_release_driver+0x86/0x90 (28)
[<c0272e7b>] driver_detach+0x2b/0x40 (20)
[<c02733c1>] bus_remove_driver+0x71/0xc0 (28)
[<c02739e9>] driver_unregister+0x19/0x30 (16)
[<c01fc15c>] pci_unregister_driver+0x1c/0x30 (16)
[<e0ac2147>] uhci_hcd_cleanup+0x17/0x68 [uhci_hcd] (16)
[<c013eec6>] sys_delete_module+0x146/0x190 (96)
[<c01032a1>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0151ec3>] .... smp_call_function_all_cpus+0x23/0x70
.....[<c0151ff1>] .. ( <= drain_cpu_caches+0x21/0x90)
.. [<c013c98d>] .... print_traces+0x1d/0x60
.....[<c0104173>] .. ( <= dump_stack+0x23/0x30)
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
inserting floppy driver for 2.6.9-1.520.1rV0.7.30_9.ll.rhfc2.ccrma
uhci_hcd 0000:00:1d.2: USB bus 3 deregistered
rmmod/3999: BUG in do_drain at mm/slab.c:1522
[<c0104173>] dump_stack+0x23/0x30 (20)
[<c0151fc9>] do_drain+0xb9/0xc0 (44)
[<c0151ece>] smp_call_function_all_cpus+0x2e/0x70 (28)
[<c0151ff1>] drain_cpu_caches+0x21/0x90 (24)
[<c0152079>] __cache_shrink+0x19/0x160 (36)
[<c01522cf>] kmem_cache_destroy+0xaf/0x1c0 (28)
[<e0ac2154>] uhci_hcd_cleanup+0x24/0x68 [uhci_hcd] (16)
[<c013eec6>] sys_delete_module+0x146/0x190 (96)
[<c01032a1>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0151ec3>] .... smp_call_function_all_cpus+0x23/0x70
.....[<c0151ff1>] .. ( <= drain_cpu_caches+0x21/0x90)
.. [<c013c98d>] .... print_traces+0x1d/0x60
.....[<c0104173>] .. ( <= dump_stack+0x23/0x30)
-- Fernando
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2004-11-24 23:03 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-23 19:24 [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Mark_H_Johnson
2004-11-23 19:50 ` Adam Heath
-- strict thread matches above, loose matches on Subject: below --
2004-11-23 18:06 Mark_H_Johnson
2004-11-23 21:15 ` Ingo Molnar
2004-11-09 16:05 [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23 Ingo Molnar
2004-11-11 14:44 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0 Ingo Molnar
2004-11-11 21:51 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1 Ingo Molnar
2004-11-16 12:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0 Ingo Molnar
2004-11-16 13:09 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1 Ingo Molnar
2004-11-16 13:40 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3 Ingo Molnar
2004-11-17 12:42 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0 Ingo Molnar
2004-11-18 12:35 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1 Ingo Molnar
2004-11-18 16:46 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0 Ingo Molnar
2004-11-22 0:54 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Ingo Molnar
2004-11-23 17:58 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9 Ingo Molnar
2004-11-23 17:53 ` K.R. Foley
2004-11-23 18:01 ` K.R. Foley
2004-11-24 0:28 ` Florian Schmidt
2004-11-24 3:19 ` Ingo Molnar
2004-11-24 2:48 ` Florian Schmidt
2004-11-24 0:58 ` Lee Revell
2004-11-24 3:45 ` Ingo Molnar
2004-11-24 13:33 ` Steven Rostedt
2004-11-24 19:23 ` Fernando Lopez-Lezcano
2004-11-24 22:17 ` Ingo Molnar
2004-11-24 21:56 ` Fernando Lopez-Lezcano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).