Re: fork() blocking rt-threads?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Luis Claudio R. Goncalves" <lclaudio@xxxxxxxx> writes:

> On Fri, Oct 16, 2009 at 04:25:21PM +0200, hollunder@xxxxxx wrote:
> | Hi,
> | I'm a Linux audio user and following the rt kernel development closely
> | (only as a user).
> | I've experienced something that might be relevant for all of us.
> | 
> | When loading the plug-in 'lv2fil' in one of our most relevant
> | Linux audio applications, ardour, and opening the ui, fork() was used.
> | This usually blocks the rt thread long enough to wreak havoc to the
> | underlying rt audio server jack.
> | 
> | What's relevant here is the ill effect of fork() and that tests
> | showed that vfork() works a lot better.
> | One ticket associated with this is:
> | http://nedko.arnaudov.name/soft/lv2fil/trac/ticket/9
> | 
> | Ardour also uses some gtk function (to open a page in the
> | default webbrowser) that uses fork() and causes the same problem.
> | 
> | Again, it seems the problem stems from the fork() implementation and is
> | present at least in 2.6.21.x through 2.6.31.x(-rt).
> | I'm quite sure this doesn't only affect us audio people.
> | 
> | I hope this information is of help and someone will look into it.
>
> Do you know how people benchmarked fork, vfork and clone? Is it easier than
> reproducing the issue you observed?

I did some benchmarks, IIRC, vfork was slower than fork; clone and
clone2 were giving xruns and were not faster.

> Another question that comes to mind is: was Ardour running with a realtime
> priority too? Higher or lower prio than jack's?

Ardour process has realtime thread(s) started by libjack.

If someone is interested, lv2fil code has disabled code for
measuring fork-and-like execution time.

-- 
Nedko Arnaudov <GnuPG KeyID: DE1716B0>

Attachment: pgpFAeEPXPVg7.pgp
Description: PGP signature


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux