Re: [LAD] Realtime threads and security

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Fons Adriaensen <fons@...>
Cc: <linux-audio-dev@...>
Date: Friday, February 18, 2011 - 12:17 pm

On 02/17/2011 11:04 PM, Fons Adriaensen wrote:

Thank you. This, as described in Documentation/scheduler/sched-rt-group.txt is
exactly what I was looking for. A cgroup may indeed be required for all clients,
with another cgroup for the sound server.

> Still this provides protection against any RT-process that goes

Reading sched-rt-group.txt it seems to me like if the limit is exceeded, RT
processes are preempted until the end of the period, which sounds very good. I
assume that's what you mean by "blocked".

If the sound server is in its own cgroup then system audio shouldn't be affected
by bogus user-space clients. But, in the context of Android, I'm a bit worried
about the fact that one bogus realtime app could affect all other running
realtime apps. On Android, there are background processes, and users could be
misled if they see that a foreground app starts to malfunction, when it's
actually caused by a background process.

I think that ideally, the system should detect the offending app, freeze it, and
pop up a dialog to inform the user. That's already the way it works when an
application is not responding or crashes.

I am not sure how that would be feasible. Maybe with das_watchdog as mentioned
by Paul or something custom/similar?

Alternatively, the system could refuse to run more than one realtime client at
the same time. But how to do that? Maybe by having the sound server dynamically
assign the client to a cgroup only if possible, or refuse and report an error to
the client otherwise?

--
Olivier

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] Realtime threads and security, Olivier Guilyardi, (Thu Feb 17, 8:40 pm)
Re: [LAD] Realtime threads and security, Daniel Poelzleithner, (Fri Feb 18, 1:43 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Wed Feb 23, 10:10 am)
Re: [LAD] Realtime threads and security, Daniel Poelzleithner, (Wed Feb 23, 5:24 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 25, 3:23 pm)
Re: [LAD] Realtime threads and security, Paul Davis, (Fri Feb 25, 3:29 pm)
Re: [LAD] Realtime threads and security, torbenh, (Fri Feb 25, 3:56 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 25, 3:54 pm)
Re: [LAD] Realtime threads and security, Paul Davis, (Fri Feb 25, 4:32 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 25, 4:40 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 25, 4:31 pm)
Re: [LAD] Realtime threads and security, Paul Davis, (Fri Feb 25, 4:33 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 25, 4:49 pm)
Re: [LAD] Realtime threads and security, Paul Davis, (Fri Feb 25, 4:54 pm)
Re: [LAD] Realtime threads and security, Paul Davis, (Thu Feb 17, 8:48 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Thu Feb 17, 9:27 pm)
Re: [LAD] Realtime threads and security, Robin Gareus, (Thu Feb 17, 9:54 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Wed Feb 23, 10:22 am)
Re: [LAD] Realtime threads and security, Robin Gareus, (Wed Feb 23, 7:28 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Thu Feb 24, 2:59 pm)
Re: [LAD] Realtime threads and security, Robin Gareus, (Thu Feb 24, 6:01 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Thu Feb 24, 7:09 pm)
Re: [LAD] Realtime threads and security, Fons Adriaensen, (Thu Feb 17, 10:04 pm)
Re: [LAD] Realtime threads and security, Olivier Guilyardi, (Fri Feb 18, 12:17 pm)
Re: [LAD] Realtime threads and security, torbenh, (Fri Feb 18, 11:19 am)
Re: [LAD] Realtime threads and security, Paul Davis, (Thu Feb 17, 9:55 pm)