<div dir="ltr"><div><div><div><div><div><div>Hi Glenn,<br><br></div>I have managed to generate the the experimental test cases and also parse and plot it for G-EDF,P-EDF and C-EDF with the flowing command <br>:./gen_exps.py -f tasks=5,10,15,20,25  cpus=2 release_master=False P-EDF G-EDF C-EDF<br>
 and  also with <br>./gen_exps.py -f tasks=`seq -s, 10 2 50` cpus=2 release_master=False P-EDF G-EDF C-EDF<br>./gen_exps.py -f tasks=`seq -s, 5 5 50` cpus=2 release_master=False P-EDF G-EDF C-EDF<br><br></div>Bu the strange thing where I am getting lost that when I generate the tasksets with <br>
<br>./gen_exps.py -f tasks=`seq -s, 5 5 100` cpus=2 release_master=False P-EDF G-EDF C-EDF <br></div>my system stalls like as default (previous email).<br><br></div>Can you please give me some clue..?<br></div>Thanks in Advance <br>
<br></div>Sanjib<br><div><div><div><div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 2, 2014 at 11:28 PM, Sanjib Das <span dir="ltr"><<a href="mailto:cnt.sanjib@googlemail.com" target="_blank">cnt.sanjib@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi Glenn,<br>Thank you very much for the suggestion. But before need another suggestion :<br>
</div>I got this output by generating experiment with default values and the run script could not make it simulate.<br>
<br><span style="color:rgb(255,0,0)">root@lubdhok-<b>lab:~/littest/experiment-scripts# ./gen_exps.py </b></span><br>Creating experiments with G-EDF generator...<br>Creating experiments with P-EDF generator...<br>Creating experiments with C-EDF generator...<br>

Experiments saved in /home/sdas/littest/experiment-scripts/exps.<br><span style="color:rgb(255,0,0)"><b>root@lubdhok-lab:~/littest/experiment-scripts# ./run_exps.py </b></span><br>Reading schedules from exps/*.<br>[Exp GSN-EDF_tasks=16_release-master=False]: Loading experiment 1 of 28.<br>

[Exp GSN-EDF_tasks=16_release-master=False]: Enabling Logger<br>[Exp GSN-EDF_tasks=16_release-master=False]: Writing 0 proc entries<br>[Exp GSN-EDF_tasks=16_release-master=False]: Starting 1 regular tracers<br>[Exp GSN-EDF_tasks=16_release-master=False]: Switching to GSN-EDF<br>

[Exp GSN-EDF_tasks=16_release-master=False]: Starting 16 tasks<br>[Exp GSN-EDF_tasks=16_release-master=False]: Sleeping until tasks are ready for release...<br>[Exp GSN-EDF_tasks=16_release-master=False]: Starting 0 released tracers<br>

[Exp GSN-EDF_tasks=16_release-master=False]: Releasing 16 tasks<br>[Exp GSN-EDF_tasks=16_release-master=False]: Waiting for program to finish...<br>[Exp GSN-EDF_tasks=16_release-master=False]: Stopping exact tracers<br>[Exp GSN-EDF_tasks=16_release-master=False]: Saving results in /home/sdas/littest/experiment-scripts/run-data/sched=GSN-EDF_tasks=16_release-master=False<br>

[Exp GSN-EDF_tasks=16_release-master=False]: Stopping regular tracers<br>[Exp GSN-EDF_tasks=16_release-master=False]: Switching back to Linux scheduler<br>[Exp GSN-EDF_tasks=16_release-master=False]: Experiment done!<br>
[Exp C-EDF_tasks=8_release-master=True]: Loading experiment 2 of 28.<br>
[Exp C-EDF_tasks=8_release-master=True]: Enabling Logger<br>[Exp C-EDF_tasks=8_release-master=True]: Writing 2 proc entries<br>[Exp C-EDF_tasks=8_release-master=True]: Starting 1 regular tracers<br>[Exp C-EDF_tasks=8_release-master=True]: Switching to C-EDF<br>

[Exp C-EDF_tasks=8_release-master=True]: Starting 8 tasks<br>[Exp C-EDF_tasks=8_release-master=True]: Sleeping until tasks are ready for release...<br><b><span style="color:rgb(255,0,0)">Non-zero return 234: /home/sdas/littest/liblitmus/rtspin -w -p 3 34 100 30<br>

Non-zero return 234: /home/sdas/littest/liblitmus/rtspin -w -p 3 13 50 30<br>[Exp C-EDF_tasks=8_release-master=True]: Re-released 6 tasks<br>[Exp C-EDF_tasks=8_release-master=True]: Killing all tasks<br>[Exp C-EDF_tasks=8_release-master=True]: Stopping regular tracers<br>

[Exp C-EDF_tasks=8_release-master=True]: Switching back to Linux scheduler<br>echo: write error: Device or resource busy<br>Failed experiment C-EDF_tasks=8_release-master=True<br>Task 0 failed with status: 234<br>Task 0 failed with status: 234</span></b><br>

Check dmesg, tmp/exec-out.txt, and tmp/exec-err.txt<br>[Exp PSN-EDF_tasks=4_release-master=False]: Loading experiment 3 of 28.<br>[Exp PSN-EDF_tasks=4_release-master=False]: Switching back to Linux scheduler<br>echo: write error: Device or resource busy<br>

System is corrupted! Fix state before continuing.<br>Scheduler is C-EDF, cannot switch to Linux!<br>6 real-time tasks still running!<br>no crontab for root<br><span style="color:rgb(255,0,0)">Experiments ran:        3 of 28</span><br>

  Successful:           1<br>  Failed:               2<br>  Already Done:         0<br>  Invalid Environment:  0<br>Successful experiment data saved in run-data.<br>root@lubdhok-lab:~/littest/experiment-scripts# <br><br>
<br>
</div>And always I have to reboot my OS kubuntu (root@lubdhok-lab:~/littest/experiment-scripts# uname -a<br>Linux lubdhok-lab 3.10.5-litmus-rt-155192-g5b50be0 #3 SMP PREEMPT Fri Apr 25 11:09:11 CEST 2014 x86_64 x86_64 x86_64 GNU/Linux)<br>

<br></div>Thanks in advance<br></div>Sanjib<br><div><div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Tue, Apr 22, 2014 at 6:06 PM, Glenn Elliott <span dir="ltr"><<a href="mailto:gelliott@cs.unc.edu" target="_blank">gelliott@cs.unc.edu</a>></span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div style="word-wrap:break-word"><div><div><br><div><div>On Apr 22, 2014, at 8:15 AM, Sanjib Das <<a href="mailto:cnt.sanjib@googlemail.com" target="_blank">cnt.sanjib@googlemail.com</a>> wrote:</div>

<br><blockquote type="cite"><div dir="ltr"><div><div><div><div><div>Dear Everyone,<br><br></div>I am using the experiment script from the following link <a href="https://github.com/LITMUS-RT/experiment-scripts" target="_blank">https://github.com/LITMUS-RT/experiment-scripts</a> to generate the synthetic tasks and was able to simulate for PSN-EDF. <br>


<br></div>Can anyone help me how can I generate a reasonable about of taskset for simulation using PFAIR scheduling algorithm(Implementation of the PD^2 pfair scheduling algorithm. This implementation realizes "early releasing), provided in LIRMUS-RT version 2013.1.<br>


<br></div>I would be glade with any information that leads me to simulate the mentioned algorithm above.<br><br></div>Regards<br></div>Sanjib<br></div></blockquote><br></div><div><br></div></div></div><div>Hi Sanjib,</div>

<div><br></div>In response to your other email on the availability of PFAIR, it’s in the latest Litmus kernel (code: <a href="https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sched_pfair.c" target="_blank">https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sched_pfair.c</a>).  Just make sure that you properly configure the kernel at compile-time to get it.  As you might see in litmus/Kconfig (<a href="https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/Kconfig#L15" target="_blank">https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/Kconfig#L15</a>), CONFIG_HIGH_RES_TIMERS and CONFIG_HZ_PERIODIC must be set and CONFIG_HZ must == 1000.<div>

<br></div><div>Regarding the experiment-scripts, currently there are no task-set generators for pfair.  I believe you could quickly copy and modify the C-EDF generator to create task sets for pfair (this is because the pfair plugin can be clustered along cache-level boundaries, just like C-EDF).</div>

<div><br></div><div>My suggestion:</div><div>Step 1: Replicate the CedfGenerator (<a href="https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/edf_generators.py#75" target="_blank">https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/edf_generators.py#75</a>), naming it CpfairGenerator or some such, and make the appropriate changes to make it use pfair.</div>

<div>Step 2: Add your new generator to gen/__init__.py (<a href="https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/__init__.py" target="_blank">https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/__init__.py</a>)</div>

<div>Step 3: I think that’s it.  You should be able to follow the tutorial for gen_exps.py here: <a href="https://github.com/LITMUS-RT/experiment-scripts" target="_blank">https://github.com/LITMUS-RT/experiment-scripts</a></div>

<div><br></div><div>These changes should take more than 30 minutes to add and test (assuming that I haven’t missed anything).  I’d be happy to accept a patch that adds pfair functionality.</div><span><font color="#888888"><div>

<br></div><div>-Glenn</div></font></span></div><br></div></div>_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org" target="_blank">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>