Hi everyone,<br><br>I was checking the dev boards with Manohar and we got some kernel compilation errors in the iMx6 SABRELITE.<br>Could anyone try to reproduce this cross-compiling  2012.3 for ARM?<br><br>1) In sys_release_ts() sync.c,<br>

when litmus_clock() is divided by ONE_MS, it causes undefined reference to `__aeabi_uldivmod'.<br>It seems this function is called by the compiler to optimize a division followed by a modulo.<br>I had a look at litmus_clock() but I didn't find the modulo operation.<br>

Anyway, I had to change it to this to make it work:<br> <br>        /* round up to next larger integral millisecond */<br>        //start_time = ((litmus_clock() / ONE_MS) + 1) * ONE_MS;<br>        start_time = litmus_clock();<br>

        do_div(start_time,ONE_MS);<br>        start_time = (start_time + 1) * ONE_MS;<br><br>2) The use of cmpxchg in request_exit_np_atomic()  makes a __bad_cmpxchg show up.<br>__bad_cmpxchg is raised when you try to use cmpxchg with variables of certain size.<br>

Since it's not implemented in the kernel, we also get a undefined reference error.<br><br>I added the second part of this patch, which implements the BUG() call in arch/arm/kernel/traps.c:<br><br><a href="http://www.spinics.net/lists/arm-kernel/msg65114.html">http://www.spinics.net/lists/arm-kernel/msg65114.html</a><br>

<br>If this is correct, I can attach the patches later.<br><br>Thanks,<br>Felipe<br><br><div class="gmail_quote">2012/12/21 Björn Brandenburg <span dir="ltr"><<a href="mailto:bbb@mpi-sws.org" target="_blank">bbb@mpi-sws.org</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It's my pleasure to announce the release of version 2012.3 of LITMUS^RT and related tools.<br>
<br>
        <a href="https://wiki.litmus-rt.org/litmus/Releases" target="_blank">https://wiki.litmus-rt.org/litmus/Releases</a><br>
<br>
Here's the list of changes:<br>
<br>
        • configurable EDF tie-breaks (choose from one of four methods: lateness, normalized tardiness, uniform hashing, PID).<br>
        • many Feather-Trace improvements, including support for userspace-reported system call overhead tracing (via control page)<br>
        • IRQ counts are now exported to the control page<br>
        • latency reduction when carrying out synchronous task set releases<br>
        • fix of preemption logic in P-FP and PSN-EDF plugins<br>
        • various improvements in the P-FP plugin<br>
        • misc. bug and compile fixes (esp. on ARM)<br>
        • liblitmus: new convenience functions lt_sleep() and get_nr_ts_release_waiters()<br>
        • liblitmus: improved test suite<br>
        • feather-trace-tools: ftsort gained the -v (verbose) and -s (simulate) flags, which are useful for outlier debugging<br>
        • feather-trace-tools: improved outlier detection; statistical outlier filtering is no longer required (for details, see B. Brandenburg, “Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling”, RTAS 2013)<br>


<br>
Glenn, Jonathan, Chris, and everyone else, thank you very much for sending in patches and helping out with testing!<br>
<br>
Happy holidays, everyone.<br>
<br>
Thanks,<br>
Björn<br>
<br>
<br>
_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
</blockquote></div><br>