[LITMUS^RT] Question about how to specify dedicated cores to G-EDF and the relative deadline
Luo, Zheng
luozheng at wustl.edu
Sat Dec 14 05:34:13 CET 2013
Thanks for the reply. I think I get a little bit confused here. I tried to use the set cpu mask and set cpu affinity on Litmus, however it does not work. It seems that the Litmus ignored that.
Also how can I use the "Release Master"? Does that mean I have to the reconfiguration and then recompile the kernel to do that?
Zheng Luo
________________________________
From: litmus-dev-bounces at lists.litmus-rt.org <litmus-dev-bounces at lists.litmus-rt.org> on behalf of Glenn Elliott <gelliott at cs.unc.edu>
Sent: Friday, December 13, 2013 9:15 PM
To: litmus-dev at lists.litmus-rt.org
Subject: Re: [LITMUS^RT] Question about how to specify dedicated cores to G-EDF and the relative deadline
On Dec 13, 2013, at 11:00 PM, Luo, Zheng <luozheng at wustl.edu<mailto:luozheng at wustl.edu>> wrote:
Hi everyone,
I have a question about how to choose dedicated group of cores on Litmus running G-EDF. For example, if my machine have 4 cores, I want to reserve core 0 for the Operating system, and core 1-3 to the rt-thread which can do the work. How can I do that? I tried the C-EDF, however used the L1,L2,L3 caches to do the division. I was wondering how can I do the division manually in the G-EDF?
Also, I have a question about the relative deadline, I think the normally the G-EDF should have the absolute deadline. Does the Litmus automatically convert relative deadline to the absolute deadline when using the G-EDF?
Thanks, Looking forward to the reply.
Zheng Luo
Hi Zheng,
I think you can accomplish what you want to do by using a "Release Master". This is enabled by asserting the CONFIG_RELEASE_MASTER compile-time option under the "Scheduling" menu. This will reserve CPU0 (aka the "Release Master") for handling release interrupts for G-EDF running on the remaining CPUs. You can also run general code on the release master CPU, assuming you have properly configured CPU affinity masks for those processes/threads.
All EDF schedulers, including G-EDF, always uses a job's absolute deadline to prioritize scheduling. A relative deadline (a task attribute, not a job attribute) scheduler would be something like Deadline-Monotonic scheduling- tasks with smaller relative deadlines have higher priority. Implementing your own Deadline-Monotonic scheduler is not hard. There are kludgey ways to do it in Litmus with just 5 to 10 minutes of coding.
-Glenn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20131214/f12e81fe/attachment.html>
More information about the litmus-dev
mailing list