[linux-audio-dev] Re: POSIX caps/realtime/root processes

Kjetil Svalastog Matheussen k.s.matheussen at notam02.no
Tue Nov 25 12:34:41 UTC 2003



On Tue, 24 Nov 2003, Jack O'Quin wrote:

>
> 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?
>
Cant think of any.

>   (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.
>
Yes, I noticed that problem as well.

> 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.

I thought about hacking together those additions after it was posted,
but soon after Robert posted a module that seemed to solve the problem
in a much better way.
Whats the status of that patch, and does it only work with 2.6.

And in  case it only works with 2.6, can't a similar module be made for
2.4? I know it can, because we can just copy the code in the sys_setched
and sys_mlockall functions into the module.


-- 



More information about the Linux-audio-dev mailing list