lkml.org 
[lkml]   [2004]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4]

* Florian Schmidt <mista.tapas@gmx.net> wrote:

> > > fs.h chunk went missing ... uploading -V0.5.14 in a minute.
> >
> > done.
>
> compiles and boots fine. no observable change in xrun behaviour
> though.

do you compile jackd from sources? If yes then could you try the patch
below? With this added, the kernel will produce a stackdump whenever
jackd does an 'illegal' sleep.

Also, could you do a small modification to kernel/sched.c and remove
this line:

send_sig(SIGUSR1, current, 1);

just to make it easier to get Jack up and running. (by default an
atomicity violation triggers a signal to make it easier to debug it in
userspace, but i suspect there will be alot of such violations so jackd
would stop all the time.)

Ingo

--- jack-audio-connection-kit-0.99.0/drivers/alsa/alsa_driver.c.orig
+++ jack-audio-connection-kit-0.99.0/drivers/alsa/alsa_driver.c
@@ -1161,6 +1161,7 @@ alsa_driver_wait (alsa_driver_t *driver,
unsigned int p_timed_out, c_timed_out;
unsigned int ci = 0;
unsigned int nfds;
+ int ret;

nfds = 0;

@@ -1194,7 +1195,11 @@ alsa_driver_wait (alsa_driver_t *driver,

poll_enter = jack_get_microseconds ();

- if (poll (driver->pfd, nfds, driver->poll_timeout) < 0) {
+ gettimeofday((void *)1,(void *)0); // atomic off
+ ret = poll (driver->pfd, nfds, driver->poll_timeout);
+ gettimeofday((void *)1,(void *)1); // atomic on
+
+ if (ret < 0) {

if (errno == EINTR) {
printf ("poll interrupt\n");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.211 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site