[LITMUS^RT] proposing liblitmus API additions and changes

Glenn Elliott gelliott at cs.unc.edu
Tue Mar 12 18:54:04 CET 2013


On Mar 12, 2013, at 10:22 AM, Björn Brandenburg <bbb at mpi-sws.org> wrote:

> 
> On Mar 6, 2013, at 12:50 AM, Glenn Elliott <gelliott at cs.unc.edu> wrote:
> 
>> I've taken a step back from the aggressive pthread-ification of the Litmus API.  I propose a compromise.  It is more robust than simply calling memset() to initialize rt_task, but not nearly verbose as my pthread-idifed Litmus API.  Instead of either of these options, a user calls init_rt_task_param(struct rt_task*) to set up default real-time behaviors.
>> 
>> Please see prop/rt_task-init on github for the proposed changes.
>> 
>> This branch includes several patches that fall into one of three categories:
>> 1) Updates to add/use init_rt_task_param().
>> 2) Updates to make all code clearly express time in nanoseconds (or use conversion macros).
>> 3) Updates to support clustered scheduling in litmus /bin apps.
>> 
>> (Sorry for putting non-rt_task-init related patches on this branch.  It was just easier this way to maintain dependencies.)
> 
> Hi Glenn,
> 
> I like this compromise a lot better and would be happy to merge it. However, could you please push a clean branch that does not have any cleanup or merge commits rebased on top of the current staging?
> 
> Also, could you please delete old prop/ branches that are no relevant? I'm starting to lose track of which are still relevant. I've already removed a couple of branches that were merged into staging.
> 
> Thanks,
> Björn

Done.  I've removed up old branches that have been superseded.  Two new branches pushed to github.

prop/migration-final (2 commits): This branch implements the CPU affinity mask assignment based against partition/cluster assignment.  rtspin and rt_launch were also updated to include clustered scheduling options.  This branch has been rebased off of liblitmus/staging.

prop/rt_task-init-final (2 commits): This branch adds the init_rt_task_param() routine.  It also updates liblitmus code to: (1) use init_rt_task_param() or new sporadic_*() convenience routines,  and (2) express time in nanoseconds.  #2 is needed because the sporadic_*() routines expect nanosecond parameters (the old sporadic_task() used milliseconds).  Please note that this branch builds on top of prop/migration-final.  Please further note that this branch depends upon litmus-rt/staging's 181b6bb0f5f122741262edc7ac0eca86d3f6dd73.

Thanks,
Glenn



More information about the litmus-dev mailing list