<div dir="ltr"><div>Hello Bjorn,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 5, 2020 at 6:34 PM Björn Brandenburg <<a href="mailto:bbb@mpi-sws.org">bbb@mpi-sws.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the last couple of releases, I’ve made sure that LITMUS^RT is a sequence of logical patches that build on each other. When I was still rebasing LITMUS^RT more frequently, this made live a lot easier. I would hence suggest to maintain that structure going forward. One giant patch is difficult to handle, and as Andrea already pointed out, it loses some information (and in particular intent) associated with each commit.  </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
When rebasing, I’ve squashed fixes and porting commits where it made sense, to make the new “fresh” history consist only of semantically meaningful, self-contained patches. The complete history of individual contributions with original author attribution I have maintained as part of the “archive” branches, which you can find on Github. I would suggest to do the same here — when the new port is ready, archive the now current branch to retain history and make your new clean, partially squashed history on top of 5.4 the new current branch. <br></blockquote><div><br></div><div>I'll go ahead and rebase our changes to follow this model.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> We also found a couple bugs in upstream LITMUS-RT while testing our port:<br>
> 1. GSN-EDF can complete jobs twice when budget enforcement is enabled<br>
<br>
Is this fixable with a small patch? If so, it might be nice to also apply it to the still-current version. <br></blockquote><div><br></div><div>Hopefully, Leo is working on fixing this now. We'll update the list when we have more info.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
While porting, did you run into any major issues? For instance, any major changes in Linux’s scheduler interfaces or kernel APIs that you had to adjust the existing codebase to? <br></blockquote><div><br></div><div>Yes. Most significantly, <font face="monospace">pick_next_task()</font> no longer receives <font face="monospace">prev</font> in the common case. We've fixed this by substituting <font face="monospace">current</font> for <font face="monospace">prev</font> in <font face="monospace">pick_next_task_litmus()</font>. In our tests of all the schedulers, that does not appear to break correctness. High-resolution timers also no longer expire in a hard IRQ context by default, so all the scheduling timers have changed to <font face="monospace">HRTIMER_MODE_ABS_PINNED_HARD</font> (note the addition of <font face="monospace">_HARD</font>).</div><div><br></div><div>Best,</div><div><br></div><div>Joshua Bakita</div></div></div>