[LITMUS^RT] call for testing 3.10

Hiroyuki Chishiro chishiro at cs.unc.edu
Fri Jul 19 20:32:32 CEST 2013


Thanks Daniel for help!
I found the same solution.
I think that my patch is for rebased-3.10 branch.

In kernel/sched/core.c, litmus/litmus.h is originally included
from litmus/sched_trace.h in line 90.

--
litmus/litmus.h
  from line 12:trace/events/litmus.h
  from line 169:litmus/sched_trace.h
  from line 90:kernel/sched/core.c
--

If CONFIG_SCHED_LITMUS_TRACEPOINT is defined, litmus/sched_trace.h includes
trace/events/litmus.h.






On Fri, Jul 19, 2013 at 1:52 PM, Daniel Bristot de Oliveira <
danielbristot at gmail.com> wrote:

>
>
>
> On Fri, Jul 19, 2013 at 2:20 PM, Björn Brandenburg <bbb at mpi-sws.org>wrote:
>
>> Thanks—this is the 3.10 branch? It compiles just fine for me. Is there
>> some configuration option that is affecting this?
>>
>>
> I got this on 3.8 too.
>
> I fixed including the litmus/litmus.h.
>
> The function 'is_realtime' is called on __mutex_lock_common, only if:
>
> CONFIG_MUTEX_SPIN_ON_OWNER=y
>
>
>
>> - Björn
>>
>> On 19.07.2013, at 19:06, Hiroyuki Chishiro <chishiro at cs.unc.edu> wrote:
>>
>>
>> Hi Björn,
>>
>> I found the following compile errors.
>>
>> --
>> kernel/mutex.c: In function '__mutex_lock_common':
>> kernel/mutex.c:331:11: error: implicit declaration of function
>> 'is_realtime' [-Werror=implicit-function-declaration]
>>
>> kernel/sched/core.c: In function 'ttwu_queue':
>> kernel/sched/core.c:1474:2: error: implicit declaration of function
>> 'is_realtime' [-Werror=implicit-function-declaration]
>> kernel/sched/core.c: In function 'finish_task_switch':
>> kernel/sched/core.c:1926:32: error: 'NO_CPU' undeclared (first use in
>> this function)
>> kernel/sched/core.c:1926:32: note: each undeclared identifier is reported
>> only once for each function it appears in
>> kernel/sched/core.c: In function '__schedule':
>> kernel/sched/core.c:3117:2: error: implicit declaration of function
>> 'srp_ceiling_block' [-Werror=implicit-function-declaration]
>> kernel/sched/core.c: In function '__sched_setscheduler':
>> kernel/sched/core.c:4024:3: error: implicit declaration of function
>> 'litmus_admit_task' [-Werror=implicit-function-declaration]
>> kernel/sched/core.c:4086:3: error: implicit declaration of function
>> 'litmus_exit_task' [-Werror=implicit-function-declaration]
>> kernel/sched/core.c:4093:50: error: 'NO_CPU' undeclared (first use in
>> this function)
>> --
>>
>> To fix these errors, include "litmus/litmus.h" in each file.
>>
>>
>>
>>
>>
>> On Thu, Jul 18, 2013 at 5:11 PM, Björn Brandenburg <bbb at mpi-sws.org>wrote:
>>
>>>
>>> On Jul 18, 2013, at 10:51 PM, Daniel Bristot de Oliveira <
>>> danielbristot at gmail.com> wrote:
>>>
>>> I'm on a Ms in automation engineering at UFSC - Brazil, working with
>>> real time Linux, but, my works fits better on PREEMPT_RT, then I'm using
>>> it. I already have made tests with Litmus RT, but I'm not a Litmus RT
>>> expert. I'm interested to help.
>>>
>>> At my work (I work on a company too, where I use the PREEMPT_RT too) I
>>> have a Xeon E5620 @ 2.40GHz at my desk, where I compile the rebased-3.8.13.
>>>
>>> I used the make localmodconfig, the config file is here:
>>> http://www.bristot.eti.br/files/litmus/3_8_13/config, and I build the
>>> kernel as is on the git.
>>>
>>> I got just one compilation problem:
>>>
>>>   CC      kernel/sched/core.o
>>> kernel/sched/core.c: In function ‘ttwu_queue’:
>>> kernel/sched/core.c:1417:2: error: implicit declaration of function
>>> ‘is_realtime’ [-Werror=implicit-function-declaration]
>>> kernel/sched/core.c: In function ‘finish_task_switch’:
>>> kernel/sched/core.c:1871:32: error: ‘NO_CPU’ undeclared (first use in
>>> this function)
>>> kernel/sched/core.c:1871:32: note: each undeclared identifier is
>>> reported only once for each function it appears in
>>> kernel/sched/core.c: In function ‘__schedule’:
>>> kernel/sched/core.c:3051:2: error: implicit declaration of function
>>> ‘srp_ceiling_block’ [-Werror=implicit-function-declaration]
>>> kernel/sched/core.c: In function ‘__sched_setscheduler’:
>>> kernel/sched/core.c:3952:3: error: implicit declaration of function
>>> ‘litmus_admit_task’ [-Werror=implicit-function-declaration]
>>> kernel/sched/core.c:4014:3: error: implicit declaration of function
>>> ‘litmus_exit_task’ [-Werror=implicit-function-declaration]
>>> kernel/sched/core.c:4021:50: error: ‘NO_CPU’ undeclared (first use in
>>> this function)
>>> cc1: some warnings being treated as errors
>>> make[2]: *** [kernel/sched/core.o] Error 1
>>> make[1]: *** [kernel/sched] Error 2
>>> make: *** [kernel] Error 2
>>> [root at localhost litmus-rt-preempt_rt]#
>>>
>>>
>>> that I fixed with this:
>>>
>>> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
>>> index 2a6de74..c36d86d 100644
>>> --- a/kernel/sched/core.c
>>> +++ b/kernel/sched/core.c
>>> @@ -89,6 +89,7 @@
>>>  #include <litmus/trace.h>
>>>  #include <litmus/sched_trace.h>
>>>  #include <litmus/sched_plugin.h>
>>> +#include <litmus/litmus.h>
>>>
>>>  void litmus_tick(struct rq*, struct task_struct*);
>>>
>>> the system is running, what's the next step? compile with PREEMPT_RT?
>>>
>>>
>>> Hi Daniel,
>>>
>>> welcome! Thanks for joining the effort. With the running system, the
>>> next step would be to compile liblitmus (from the port-3.10 branch), pick a
>>> plugin with setsched, and run 'runtests', which runs the liblitmus test
>>> suite.
>>>
>>> If everything works, the second step would be to build the branch that
>>> includes PREEMPT_RT:
>>>
>>> https://github.com/LITMUS-RT/litmus-rt/commits/rebased-3.8.13-rt14
>>>
>>> And then debug it… I assume we are breaking some PREEMPT_RT assumptions
>>> that will need fixing. If you have experience with PREEMPT_RT, you could
>>> help us out by suggesting fixes for bugs in LITMUS^RT.
>>>
>>> For example, rt_domain.c calls hrtimer_cancel() while (indirectly)
>>> holding a run queue lock. This works fine in mainline, but causes a
>>> recursive locking problem in PREEMPT_RT. Once that is fixed, I'm sure there
>>> will be more that breaks.
>>>
>>> Thanks,
>>> Björn
>>>
>>>
>>> _______________________________________________
>>> litmus-dev mailing list
>>> litmus-dev at lists.litmus-rt.org
>>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>>
>>>
>>
>>
>> --
>>
>> Hiroyuki Chishiro
>>
>> Visiting Scholar
>>
>> Department of Computer Science
>>
>> The University of North Carolina at Chapel Hill
>>
>> <rebased-3.10_compile.patch>
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
>
>
> --
> Daniel Bristot de Oliveira
>
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
>
>


-- 

Hiroyuki Chishiro

Visiting Scholar

Department of Computer Science

The University of North Carolina at Chapel Hill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20130719/6ea2ed20/attachment.html>


More information about the litmus-dev mailing list