[LITMUS^RT] Syscalls and budget enforcement

Björn Brandenburg bbb at mpi-sws.org
Wed Jul 16 09:36:10 CEST 2014


On 15 Jul 2014, at 20:55, Chandrasekaran Sivakumar <chandru.a6 at gmail.com> wrote:

> 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 wait_for_ts_release and release_ts ? I couldn't find them in https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/litmus.c, where other LITMUS^RT related syscalls are defined.

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.

	https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sync.c

> Also, if budget enforcement is enabled, and if there is a budget overrun, I could see that on_enforcement_timeout function in https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/budget.c 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. 

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).

	http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf

- Björn

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20140716/71ada916/attachment.html>


More information about the litmus-dev mailing list