<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 15 Jul 2014, at 20:55, Chandrasekaran Sivakumar <<a href="mailto:chandru.a6@gmail.com">chandru.a6@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div>I'm working on my Masters dissertation project based on LITMUS^RT framework. Could someone please tell me where to find the syscall definition of <i>wait_for_ts_release</i> and <i>release_ts</i> ? I couldn't find them in <a href="https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/litmus.c" target="_blank">https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/litmus.c</a>, where other LITMUS^RT related syscalls are defined.</div></div></blockquote><div><br></div><div>In general, have a look at the platform-specific syscall tables, which will guide you to find the right C functions. In your case, the syscalls are defined in litmus/sync.c.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span><a href="https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sync.c">https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sync.c</a></div><br><blockquote type="cite"><div dir="ltr">
<div>Also, if budget enforcement is enabled, and if there is a budget overrun, I could see that <i>on_enforcement_timeout </i>function in <a href="https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/budget.c">https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/budget.c</a> calls the litmus_reschedule_local( ). But when I traced the function call, I could not find where the control is passed to the active scheduler plugin. Please guide me. </div>
</div></blockquote><br></div><div>It’s just a regular scheduler invocation via set_tsk_need_resched(). The plugin is invoked from schedule(). If you are not familiar with how the scheduler is invoked in Linux, you may find a description of this mechanism in just about any book on the Linux kernel. A short overview is also given in my dissertation (Section 3.2.1 “Invocation of the Scheduler” on page 167).</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span><a href="http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf">http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf</a></div><div><br></div><div>- Björn</div><div><br></div></body></html>