Skip to contentSkip to conversation

Scheduler queues for less os-jitter?

DISCUSSION Uwaysi Bin Kareem 2 participants 5 messages Oct 10, 2012 – Nov 4, 2012 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

I was just wondering, have you considered this?

If daemons are contributing to os-jitter, wouldn`t having them all on their own queue reduce jitter? So people could have the stuff like in Ubuntu they want, without affecting jitter, or needing stuff like Tiny Core, for tiny jitter?

So you get (simplified) something like mainapp - process1 in queue 2, mainapp - process2 in queue 2, mainapp - process 3 in queue 2, etc.

Or is that already batch maybe, lol.

Peace Be With You.

#1 lore raw
Quoted 11 lines · Uwaysi Bin Kareem

I was just wondering, have you considered this?

If daemons are contributing to os-jitter, wouldn`t having them all on their own queue reduce jitter? So people could have the stuff like in Ubuntu they want, without affecting jitter, or needing stuff like Tiny Core, for tiny jitter?

So you get (simplified) something like mainapp - process1 in queue 2, mainapp - process2 in queue 2, mainapp - process 3 in queue 2, etc.

Or is that already batch maybe, lol.

You could try SCHED_AUTOGROUP, or create whatever task groups manually, or use systemd to do that for you. Like everything else having anything to do with scheduling, all are double edged swords, so may help, may hurt.

-Mike

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

------- Forwarded message -------
From: "Uwaysi Bin Kareem" <[email protected]>
To: "Mike Galbraith" <[email protected]>
Cc:
Subject: Re: Scheduler queues for less os-jitter?
Date: Sun, 04 Nov 2012 02:19:39 +0100

Quoted 11 lines · Mike Galbraith
Quoted 10 lines · Uwaysi Bin Kareem

I was just wondering, have you considered this?

If daemons are contributing to os-jitter, wouldn`t having them all on their own queue reduce jitter? So people could have the stuff like in Ubuntu they want, without affecting jitter, or needing stuff like Tiny Core, for tiny jitter?

So you get (simplified) something like mainapp - process1 in queue 2, mainapp - process2 in queue 2, mainapp - process 3 in queue 2, etc.

Quoted 9 lines
Quoted 1 line

Or is that already batch maybe, lol.

You could try SCHED_AUTOGROUP, or create whatever task groups manually, or use systemd to do that for you. Like everything else having anything to do with scheduling, all are double edged swords, so may help, may hurt.

-Mike

Actually I did achieve this with fifo-relatime. Low jitter OpenGL seems to be able to do, running the opengl app as realtime, with a low sched_rt_period_us value and a high sched_rt_runtime_us value.

Peace Be With You.

#4 lore raw
In reply to a message not in the archive

Ok, anyway realtime processes did not work quite as expected. ("overloaded" machine, even though cpu-time is only 10%). So I guess I have to enable cgroups and live with the overhead then.

If I set cpu-limits there, does that involve an absolute value, or is it normalized, so that even if I do 0.001% cpu for processes, they get all cpu, when there is nothing running?

Peace Be With You.

#5 lore raw
Quoted 7 lines · Uwaysi Bin Kareem

Ok, anyway realtime processes did not work quite as expected. ("overloaded" machine, even though cpu-time is only 10%). So I guess I have to enable cgroups and live with the overhead then.

If I set cpu-limits there, does that involve an absolute value, or is it normalized, so that even if I do 0.001% cpu for processes, they get all cpu, when there is nothing running?

See Documentation/cgroups. Between cgroups, cpusets, scheduler classes and priorities, you have heaping truckloads of control over what runs where and when. The missing element in your low jitter quest is a desktop and applications that were written for realtime performance.

-Mike