* Jack O'Quin <[EMAIL PROTECTED]> wrote:
i'm wondering, couldnt Jackd solve this whole issue completely in user-space, via a simple setuid-root wrapper app that does nothing else but validates whether the user is in the 'jackd' group and then keeps a pipe open to to the real jackd process which it forks off, deprivileges and exec()s? Then unprivileged jackd could request RT-priority changes via that pipe in a straightforward way. Jack normally gets installed as root/admin anyway, so it's not like this couldnt be done.
Perhaps.
Until recently, that didn't work because of the longstanding rlimits bug in mlockall(). For scheduling only, it might be possible.
Of course, this violates your requirement that the user not be able to lock up the CPU for DoS. The jackd watchdog is not perfect.
there is a legitimate fear that if it's made "too easy" to acquire some sort of SCHED_FIFO priority, that an "arm's race" would begin between desktop apps, each trying to set themselves to SCHED_FIFO (or SCHED_ISO) and advising users to 'raise the limit if they see delays' - just to get snappier than the rest.
thus after a couple of years we'd end up with lots of desktop apps running as SCHED_FIFO, and latency would go down the drain again.
(yeah, this feels like going back to the drawing board.)
The problem hasn't changed in a few decades, neither has the urge of developers to make their app look good at the expense of the rest of the system. Been there and done that myself.
"Back when" we had no good tools except to raise priority and drop timeslice if a process blocked for i/o and vice-versa if it used the whole timeslice. The amzing thing is that it worked reasonably well as long as no one was there who knew how to cook the books the scheduler used. And the user could hold off interrupts for up to 16ms, just to make it worse.
-- -bill davidsen ([EMAIL PROTECTED]) "The secret to procrastination is to put things off until the last possible moment - but no longer" -me - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/