* realtime-preempt-2.6.12-final-V0.7.51-01 compile error and more problems
@ 2005-07-05 23:25 Carlo Scarfoglio
2005-07-06 1:13 ` William Weston
0 siblings, 1 reply; 3+ messages in thread
From: Carlo Scarfoglio @ 2005-07-05 23:25 UTC (permalink / raw)
To: linux-kernel
Compilation stops at this point:
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
CHK include/linux/compile.h
CHK usr/initramfs_list
CC net/ipv4/netfilter/ip_conntrack_proto_tcp.o
net/ipv4/netfilter/ip_conntrack_proto_tcp.c: In function
`tcp_print_conntrack':
net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: `tcp_lock'
undeclared (first use in this function)
net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: (Each undeclared
identifier is reported only once
net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: for each
function it appears in.)
net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: warning: type defaults
to `int' in declaration of `type name'
etc. etc..
Most likely it depends on the redefinition of DECLARE_RWLOCK in lockhelp.h
More problems....
Patch 7.50-48 has been the first rt kernel that compiled and booted
cleanly on my system.
I'm testing the rt kernels because I want to use jack as my system sound
mixer/router
and to record lp's with my ice1712-based sound card. I have no rt
requrements, of course,
but I want to get rid of xruns. Kernel 2.6.12 vanilla is quite good
already (a big improvement
over previous kernels) but still ...
Patch 7.50-48 been running for two days now and seems pretty stable but:
1) My logs are filled with Apic errors all like this
Jul 5 04:30:01 linux kernel: APIC error on CPU0: 02(02)
every 2 seconds, or minute, at random. I've never seen these messages
before with vanilla kernels,
so it's a bit weird.
2) Whenever I play an mp3 or watch a movie (through jack) I get
thousands of times these errors in the logs
Jul 5 20:45:56 linux kernel: `IRQ 8'[828] is being piggy.
need_resched=0, cpu=0
Jul 5 20:45:56 linux kernel: Read missed before next interrupt
Jul 5 20:45:56 linux kernel: wow! That was a 12 millisec bump
Jul 5 20:45:56 linux kernel: bug in rtc_read(): called in state S_IDLE!
Jul 5 20:45:56 linux kernel: `IRQ 8'[828] is being piggy.
need_resched=0, cpu=0
Jul 5 20:45:56 linux kernel: Read missed before next interrupt
Jul 5 20:45:56 linux kernel: wow! That was a 3 millisec bump
Jul 5 20:45:56 linux kernel: bug in rtc_read(): called in state S_IDLE!
This is a known issue, RTC interrupts are missed. I have noticed it
many times when ntp is
running. It stops working after a few minutes of playing when the the
error exceeds 500 PPM.
But I thought that ntp compared external reference clocks to the system
timer, so the system
was missing int 0, not int 8. My mobo has a crappy timer anyway. I had
to reduce the tick to 9934
in order to allow ntp to run.
3) I had to disable polling of the cpu temperature by kacpid because
whenever it did the sound
stopped for 1-3 seconds. The polling took longer and longer after a few
hours of uptime.
The nice thing is, it caused no xruns. Kernel 2.6.12 vanilla has the
same problem, though.
4) Xruns occur every 10-60 minutes even when the system is practically
idle (no playback
or recording). When copying large files (between sata disks on two
sil3112 controllers)
xruns frequency is much higher. When sound is used xruns occur every 2
or 20 minutes.
This is a nForce2-mobo (Abit NF7-S V 2.0), Athlon 2800, 1 GB Ram,
Terratec DMX6Fire,
nVidia 4200 video card, 2 sil3112 sata controllers with 3 disks,etc.
SuSE 9.1 with KDE 3.4 and
uptodate jack, xmms, mplayer, sound libraries and recording apps.
If more details are needed or I can perform some tests, feel free to ask.
Cheers,
Carlo Scarfoglio
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: realtime-preempt-2.6.12-final-V0.7.51-01 compile error and more problems
2005-07-05 23:25 realtime-preempt-2.6.12-final-V0.7.51-01 compile error and more problems Carlo Scarfoglio
@ 2005-07-06 1:13 ` William Weston
2005-07-06 1:45 ` Lee Revell
0 siblings, 1 reply; 3+ messages in thread
From: William Weston @ 2005-07-06 1:13 UTC (permalink / raw)
To: Carlo Scarfoglio; +Cc: linux-kernel
On Wed, 6 Jul 2005, Carlo Scarfoglio wrote:
> Compilation stops at this point:
>
> make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
> CHK include/linux/compile.h
> CHK usr/initramfs_list
> CC net/ipv4/netfilter/ip_conntrack_proto_tcp.o
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c: In function
> `tcp_print_conntrack':
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: `tcp_lock'
> undeclared (first use in this function)
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: (Each undeclared
> identifier is reported only once
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: error: for each
> function it appears in.)
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c:333: warning: type defaults
> to `int' in declaration of `type name'
> etc. etc..
>
> Most likely it depends on the redefinition of DECLARE_RWLOCK in lockhelp.h
Same here...
> More problems....
>
> Patch 7.50-48 has been the first rt kernel that compiled and booted
> cleanly on my system.
-50-43 is the most recent out of the -50 series that's compiled and
operated cleanly on my Athlon box. So far, it appears to be rock-solid.
I'd recommend giving it a try if you haven't already.
> I'm testing the rt kernels because I want to use jack as my system sound
> mixer/router
> and to record lp's with my ice1712-based sound card. I have no rt
> requrements, of course,
> but I want to get rid of xruns. Kernel 2.6.12 vanilla is quite good
> already (a big improvement
> over previous kernels) but still ...
Audio without xruns is an RT requirement, IMHO ;-}
> Patch 7.50-48 been running for two days now and seems pretty stable but:
>
> 1) My logs are filled with Apic errors all like this
>
> Jul 5 04:30:01 linux kernel: APIC error on CPU0: 02(02)
>
> every 2 seconds, or minute, at random. I've never seen these messages
> before with vanilla kernels,
> so it's a bit weird.
Have you tried disabling CONFIG_X86_IOAPIC_FAST? This is new in the
realtime-preempt patches. It's currently stable on 3 out of the 4 boxes
I'm testing RT on. On the fourth (P4 with an SIS chipset), it didn't seem
to make any difference. I finally had to switch from APIC to PIC (in
BIOS) to get the APIC errors on CPU0 to go away.
> 2) Whenever I play an mp3 or watch a movie (through jack) I get
> thousands of times these errors in the logs
>
> Jul 5 20:45:56 linux kernel: `IRQ 8'[828] is being piggy.
> need_resched=0, cpu=0
> Jul 5 20:45:56 linux kernel: Read missed before next interrupt
> Jul 5 20:45:56 linux kernel: wow! That was a 12 millisec bump
> Jul 5 20:45:56 linux kernel: bug in rtc_read(): called in state S_IDLE!
> Jul 5 20:45:56 linux kernel: `IRQ 8'[828] is being piggy.
> need_resched=0, cpu=0
> Jul 5 20:45:56 linux kernel: Read missed before next interrupt
> Jul 5 20:45:56 linux kernel: wow! That was a 3 millisec bump
> Jul 5 20:45:56 linux kernel: bug in rtc_read(): called in state S_IDLE!
>
> This is a known issue, RTC interrupts are missed. I have noticed it
> many times when ntp is
> running. It stops working after a few minutes of playing when the the
> error exceeds 500 PPM.
> But I thought that ntp compared external reference clocks to the system
> timer, so the system
> was missing int 0, not int 8. My mobo has a crappy timer anyway. I had
> to reduce the tick to 9934
> in order to allow ntp to run.
Is the RTC the only thing on IRQ 8? The last time I saw the 'IRQ 8 is
being piggy' messages on my Athlon box was when the RTC was sharing IRQ 8
with either the video or the USB.
> 3) I had to disable polling of the cpu temperature by kacpid because
> whenever it did the sound
> stopped for 1-3 seconds. The polling took longer and longer after a few
> hours of uptime.
> The nice thing is, it caused no xruns. Kernel 2.6.12 vanilla has the
> same problem, though.
>
> 4) Xruns occur every 10-60 minutes even when the system is practically
> idle (no playback
> or recording). When copying large files (between sata disks on two
> sil3112 controllers)
> xruns frequency is much higher. When sound is used xruns occur every 2
> or 20 minutes.
Do these xruns coincide with the RTC 'Read missed before next interrupt'
messages?
Have you tried running JACK with a larger buffer period size? Some cards
are perfectly happy with -p64, while others need -p128 or -p256 to be xrun
free for an extended time. In the past, I've seen a difference between
running with 2 and 3 buffer periods (-n2 or -n3).
Also, have you tried bumping up JACK's RT priority? If JACK is running at
a lower priority than the IRQ threads for your SATA, then disk activity
will most likely cause additional xruns. I've had good luck running JACK
with '-R -P60', which sets it's realtime priority above all the IRQ
threads.
You may also want to run the IRQ threads for your audio hardware at a
slightly higher RT priority than the rest of the IRQ threads.
> This is a nForce2-mobo (Abit NF7-S V 2.0), Athlon 2800, 1 GB Ram,
> Terratec DMX6Fire,
> nVidia 4200 video card, 2 sil3112 sata controllers with 3 disks,etc.
> SuSE 9.1 with KDE 3.4 and
> uptodate jack, xmms, mplayer, sound libraries and recording apps.
>
> If more details are needed or I can perform some tests, feel free to ask.
If you haven't tried this out yet, jack_test4.1 should be a big help for
system tuning:
http://www.joq.us/jack/tests/jack_test4.1.tar.gz
Edit jack_test4_run.sh to change settings for JACK priority, number of
test clients, etc. On your system, you should be able to run with 28 or
more clients without any xruns.
Best Regards,
--ww
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: realtime-preempt-2.6.12-final-V0.7.51-01 compile error and more problems
2005-07-06 1:13 ` William Weston
@ 2005-07-06 1:45 ` Lee Revell
0 siblings, 0 replies; 3+ messages in thread
From: Lee Revell @ 2005-07-06 1:45 UTC (permalink / raw)
To: William Weston; +Cc: Carlo Scarfoglio, linux-kernel
On Tue, 2005-07-05 at 18:13 -0700, William Weston wrote:
> Audio without xruns is an RT requirement, IMHO ;-}
>
This isn't even an opinion, it's a fact. If you are capturing data and
your audio handling thread does not get scheduled in (periods_per_buffer
- 1) * period_time time units, you lose that chunk of sound *forever*.
Some people on this list make the ridiculous argument that this is
different from more conventional RT applications because "they can
always record again". Try telling that to someone who is paying for
studio time; you won't be running a studio for long. Pro audio is
exactly like controlling a satellite or monitoring a power plant, if you
don't get scheduled in time, it's a fatal error.
In practice you only have to be more reliable than the alternatives,
which are pretty reliable these days.
> > 4) Xruns occur every 10-60 minutes even when the system is
> practically
> > idle (no playback
> > or recording). When copying large files (between sata disks on two
> > sil3112 controllers)
> > xruns frequency is much higher. When sound is used xruns occur
> every 2
> > or 20 minutes.
>
> Do these xruns coincide with the RTC 'Read missed before next
> interrupt'
> messages?
>
> Have you tried running JACK with a larger buffer period size? Some
> cards
Disable CONFIG_RTC_HISTOGRAM.
Then before you try anything else, check the /proc/latency trace output.
What's the max reported latency? Is it significantly less than the
xruns?
Lee
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-07-06 1:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-05 23:25 realtime-preempt-2.6.12-final-V0.7.51-01 compile error and more problems Carlo Scarfoglio
2005-07-06 1:13 ` William Weston
2005-07-06 1:45 ` Lee Revell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox