On Tue, 2004-07-13 at 15:12, Bill Huey wrote:
> On Tue, Jul 13, 2004 at 01:09:28PM +0100, Martijn Sipkema wrote:
> > [...]
> > > Please double-check that there are no priority inversion problems and that
> > > the application is correctly setting the scheduling policy and that it is
> > > mlocking everything appropriately.
> >
> > I don't think it is currently possible to have cooperating threads with
> > different priorities without priority inversion when using a mutex to
> > serialize access to shared data; and using a mutex is in fact the only portable
> > way to do that...
> >
> > Thus, the fact that Linux does not support protocols to prevent priority
> > inversion (please correct me if I am wrong) kind of suggests that supporting
> > realtime applications is not considered very important.
>
> Any use of an explicit or implied blocking mutex across threads with differing
> priorities can results in priority inversion problems. The real problem, however,
> is contention. If you get rid of the contention in a certain critical section,
> you then also get rid of latency in the system. They are one and the same problem.
>
> > It is often heard in the Linux audio community that mutexes are not realtime
> > safe and a lock-free ringbuffer should be used instead. Using such a lock-free
> > ringbuffer requires non-standard atomic integer operations and does not
> > guarantee memory synchronization (and should probably not perform
> > significantly better than a decent mutex implementation) and is thus not
> > portable.
>
> It's to decouple the system from various time related problems with jitter.
> It's critical to use this since the nature of Linus is so temporally coarse
> that these techniques must be used to "smooth" over latency problems in the
> Linux kernel.
>
> I personally would love to see these audio applications run on a first-class
> basis under Linux. Unfortunately, that won't happen until it gets near real
> time support prevasively through the kernel just like in SGI's IRIX. Multimedia
> applications really need to be under a hard real time system with special
> scheduler support so that CPU resources, IO channels can be throttled.
>
I don't think invoking IRIX is going to get us a lot of sympathy on
LKML. It is widely reviled. BEOS is probably a better example.
Just my $0.02.
Lee
Some thoughts about low latency with dual processor or HT capable systems.
Isn't it possible to get low latency by locking everything (= all processes +
interrupts) except for the audio/midi interrupt and the RT process(es) to
one cpu and the latter two to the second, using the cpu and irq affinity calls
?
I thought this way interrupts, bottom halfs and the like are handled per cpu
and don't interfere (lock each other out) between cpus and processes not using
system calls should never be blocked.
If it is that way, this would help at least the MP/HT systems,regardless of
the kernel used.
Or am i thinking wrong here?
Greetings Earthlings:
Just a quick note to say that the August 2004 issue of the Linux
Journal has selected Ardour as Project Of The Year for its 2004 Editors
Choice awards. Congratulations to Paul and everyone on the team !
Best regards,
dp
>From: Dr.Graef(a)t-online.de (Albert Graef)
>
>does anyone know a library (preferably C/C++, or anything that
>interfaces to it) which implements the Prony algorithm (a.k.a. least
>squares fitting of a sampled signal to a sum of damped sinusoids)?
I placed a couple of papers at
ftp://ftp.funet.fi/pub/sci/audio/devel/dsp/
Please make the source code available (GPL or public domain
or equivalent). Do you need more papers?
I need a detailed spectrogram to Audacity. Audacity may now have
only FFT based linear scale spectrograms. I will draw manually the
pitch curves over the display. Instruments to be analysed are flutes,
violins and guitars. Both time and frequency accuracy should be good
when tracing the single pitch curve.
I will check more papers on the topic but I really would like to
see an overview of what techniques are available. Maybe a search in
the web helps.
Juhana
Hi,
I have a program with some (p)threads, and a jack ringbuffer. One
thread is writing to the ringbuffer, and another is reading from it.
The question is: is it (thread-)safe to have a _third_ thread that
looks at the ringbuffer via jack_ringbuffer_read_space() at random
times to determine how much data is in the ringbuffer? This third
thread does not actually read nor write any data to/from the
ringbuffer, just wants to know the amount of data in it.
So far I didn't see any crashes/lockups, is it really safe to do this
or just my dirty luck? :)
Thanks,
Tom
Hey everyone!
There is a new version of seq24 up.
http://www.filter24.org/seq24/
* Added button for seperate note length.
* Mouse wheel can now change values in editor.
* Many misc bugs fixed.
cheers!!
rob buse
------------------------------------------------------
http://filter24.org art + technology
_______________________________________________________
Sent through e-mol. E-mail, Anywhere, Anytime. http://www.e-mol.com
* Jeremy Hall <jhall(a)maoz.com> wrote:
> I compiled this on SMP and when I enabled preempt in /proc/sys/kernel
> commands worked for a few seconds, then the machine crashed. It
> responded to pings but otherwise was dead in the water. When I
> enabled voluntary preempt as well, the machine almost immediately
> crashed.
>
> The note says that you should be able to switch from the four modes of
> operation at will while the machine is running. Is that true?
it's true, it should work. This is probably a bug in the patch.
Investigating it.
Ingo
Hello,
DRC 2.4.2 has been released and is available at:
http://freshmeat.net/projects/drc
Changes:
This release features better handling of underflow problems during
homomorphic deconvolutions. There were some speed improvements.
Search and output of peak value and peak position were added to
lsconv.
Best of listening,
--
Denis Sbragion
InfoTecna
Tel: +39 0362 805396, Fax: +39 0362 805404
URL: http://www.infotecna.it
I thought sox might be able to do it but I don't see it if it's there. I
want to know how long (in time) an audio file is. Preferably output the
number of seconds or some fraction thereof to stdout, and preferably can
handle a large variety of sound types like sox (but if not, I can use
sox).
I know I could use sox to output raw and get the size of the resulting
file and do a little arithmetic, but that would be silly if there's a
utility for doing this sort of thing.
Why? I have my computer as an answering machine, and don't want to be
bothered with hangups (very short messages). BTW, an answering machine
is great fun to mess with all sorts of audio things, especially the
beeps. :-)
--
.O. Hans Fugal | De gustibus non disputandum est.
..O http://hans.fugal.net | Debian, vim, mutt, ruby, text, gpg
OOO | WindowMaker, gaim, UTF-8, RISC, JS Bach
---------------------------------------------------------------------
GnuPG Fingerprint: 6940 87C5 6610 567F 1E95 CB5E FC98 E8CD E0AA D460