[linux-audio-dev] Re: POSIX caps/realtime/root processes
Jack O'Quin
joq at io.com
Tue Nov 25 03:49:16 UTC 2003
Kjetil Svalastog Matheussen <k.s.matheussen at notam02.no> writes:
> > I couldn't wait til you found it, so I wrote one from scratch instead. :)
> > The url below point to a hackish patch againt 2.4.23-rc1, and yes, it is
> > very simple. Works by setting /proc/sys/kernel/setschedandmlock to 1.
> > http://www.notam02.no/arkiv/src/schedmlockpatch-2.4.23-rc1
Fernando Pablo Lopez-Lezcano <nando at ccrma.stanford.edu> writes:
> Hey! Good! I'm very tempted to add it to the Planet CCRMA kernels right
> away :-)
>
> Has it seen much testing? Not that something so simple would require a
> lot of testing, of course. I'm trying to think of potential problems
> (over the use of capabilities) and can't think of anything. The only
> that would occur to me is that access to SCHED_FIFO would be more
> universal whereas with capabilities, programs like givertcap or
> jackstart are required.
I finally got around to testing Kjetil's patch (backported to 2.4.19).
It basically works, but I found a couple of problems...
(1) The patch allows SCHED_FIFO but not SCHED_RR. This makes
PortAudio V18 fail. That looks trivial to fix. Is there any reason
to allow one realtime scheduling policy and not the other?
(2) I can start `jackd -R' as a normal user, but its clients fail to
connect. This looks like a problem in the capabilities_workaround
logic of jack_start_thread(). The test fails because the engine has
the `realtime' flag set, but not `has_capabilities'. I hacked a
patch for that test and now it works. I need to figure out if that
is the correct fix before committing it to CVS, though.
I did this as a baseline before adding the `realtimegroup' logic we
discussed last week. I think I'll attempt that next, after fixing the
SCHED_RR omission.
--
joq
More information about the Linux-audio-dev
mailing list