<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; "><div><div>On Mar 1, 2013, at 5:35 PM, Björn Brandenburg <<a href="mailto:bbb@mpi-sws.org">bbb@mpi-sws.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Glenn,</div><div><br></div><div>thanks a lot for your patches! I'm very glad to see more "infrastructure improvements" patches that make the system easier to use or more robust. Comments inline.</div><br><div><div>On Mar 1, 2013, at 5:35 AM, Glenn Elliott <<a href="mailto:gelliott@cs.unc.edu">gelliott@cs.unc.edu</a>> wrote:</div><div><br></div><blockquote type="cite">#2: prop/pthreadification<br>This branch introduces a new pthread-styled API to setting up real-time task parameters.  The sporadic_* functions and macros are taking ever more parameters.  Worse, these parameters do not always apply to the active scheduler (ex. fixed priority).  This API should hopefully simply things with a familiar interface and make code more expressive.</blockquote></div></div></blockquote><div><br></div><div><snip></div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Personally, I don't like the pthreads API, so this isn't really a huge improvement to me. I would prefer not having to link against pthreads for "regular" tasks. Error reporting is important.</div><div><br></div><div>I would suggest to merge a simplified and rebased version of the migration API changes, and to wait for consensus regarding the attr patch set.</div><div><br></div><div>Thanks,</div><div>Björn</div></div></div></blockquote></div><br><div>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.</div><div><br></div><div>Please see prop/rt_task-init on github for the proposed changes.</div><div><br></div><div>This branch includes several patches that fall into one of three categories:</div><div>1) Updates to add/use init_rt_task_param().</div><div>2) Updates to make all code clearly express time in nanoseconds (or use conversion macros).</div><div>3) Updates to support clustered scheduling in litmus /bin apps.</div><div><br></div><div>(Sorry for putting non-rt_task-init related patches on this branch.  It was just easier this way to maintain dependencies.)</div><div><br></div><div>Thanks,</div><div>Glenn</div></body></html>