Bill Gatliff wrote:
Jamie Lokier wrote:
I agree with communicting the desire explicitly to the scheduler.>from blocking progress in the rest of the system by limiting my
In the above example, the exact desire is "give me as much CPU as I
ask for, because my hardware servicing will be adversely but
non-fatally affected if you don't, and the amount of CPU needed to
service the hardware cannot be determined in advance, but prevent me
exclusive ownership of the CPU".This is a great real-world problem. And there's no one-size-fits-all answer, unfortunately.
How do you propose to communicate that to the scheduler, if not by
something rather like RT-bandwidth with downgrading to SCHED_OTHER
when a policy limit is exceeded?
RT-bandwidth will give you the system behavior you are after, but it's a pretty blunt instrument.
I'm under the impression that RT-bandwidth will *not* give the above
system behaviour, and that is the whole reason for this thread.
I'd consider putting some throttling in your interrupt handler that prevents it from running more than a certain amount of calculation per interrupt event.
There is no interrupt handler in my specification above...