Messages in this thread Patch in this message | | | Date | Mon, 29 Nov 2004 16:42:16 +0100 | From | Ingo Molnar <> | Subject | Re: Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7 |
| |
> > --- ./drivers/alsa/alsa_driver.c.orig 2004-11-26 14:11:26.000000000 +0100 > > +++ ./drivers/alsa/alsa_driver.c 2004-11-26 14:24:41.000000000 +0100
find yet another approach below - it aborts jackd when the first xrun happens. Since an xrun can trigger other xruns, the most reliable trace would be the first xrun that triggers.
Ingo
--- ./drivers/alsa/alsa_driver.c.orig 2004-11-26 14:11:26.000000000 +0100 +++ ./drivers/alsa/alsa_driver.c 2004-11-29 17:39:15.985918576 +0100 @@ -1077,13 +1077,17 @@ alsa_driver_xrun_recovery (alsa_driver_t && driver->process_count > XRUN_REPORT_DELAY) { struct timeval now, diff, tstamp; driver->xrun_count++; + gettimeofday(0,0); gettimeofday(&now, 0); snd_pcm_status_get_trigger_tstamp(status, &tstamp); timersub(&now, &tstamp, &diff); *delayed_usecs = diff.tv_sec * 1000000.0 + diff.tv_usec; +#if 1 fprintf(stderr, "\n\n**** alsa_pcm: xrun of at least %.3f " "msecs\n\n", *delayed_usecs / 1000.0); +#endif + exit(-1); } if (alsa_driver_stop (driver) || @@ -1185,6 +1189,7 @@ alsa_driver_wait (alsa_driver_t *driver, nfds++; } + gettimeofday(0,1); poll_enter = jack_get_microseconds (); if (poll (driver->pfd, nfds, driver->poll_timeout) < 0) { - 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/
| |