[LITMUS^RT] Hit crash in C-EDF (configured as partitioned)

Hiroyuki Chishiro chishiro at cs.unc.edu
Wed Jun 12 07:08:53 CEST 2013


Hi all,

I also hit this bug in the recent developer version (checkout date is June
8).

The scheduler plugin is Reduction to UNiprocessor (RUN), which is developed
by me.
I believe that other scheduler plugins also hit this bug when
bheap_delete() is called.

When hitting this bug, is_queued(task) is true but the task is not in the
ready queue.
I think that the task is in the release heap queue and is not merged into
the ready queue.

For example,
CPU1: call release_jobs() but not get lock.
CPU2: call bheap_delete() but the task is not in the ready queue and is in
the release heap queue.

One of the solutions is to check if the task is in the ready queue and not
in the release heap queue
when bheap_delete() is called.

Are there better solutions?


- Hiro

On Thu, Feb 21, 2013 at 10:57 AM, Jonathan Herman <hermanjl at cs.unc.edu>wrote:

> The race is caused by:
> 1. Userspace completion of task on CPU 1
> 2. Kernelspace requeue() of task on CPU 2
> 3. Kernelspace reschedule and job_completion of task on CPU 1
>
> Shouldn't the other plugins be vulnerable to the same race condition? I
> also encountered this in C-EDF (on a KVM, only with CONFIG_..._AFFINITY),
> but I can see the same sequence of calls occurring under other plugins.
>
>
> On Tue, Jan 29, 2013 at 9:47 AM, Björn Brandenburg <bbb at mpi-sws.org>wrote:
>
>>
>> On Jan 29, 2013, at 2:02 PM, Glenn Elliott <gelliott at cs.unc.edu> wrote:
>>
>> > Can you say why I was only hitting this bug in a C-EDF partitioned
>> case?  Did it only make this race condition more likely?
>>
>> I believe that race always existed, but we only started hitting it with
>> the new synchronous release code under certain configurations. I never saw
>> it in KVM, for instance, and not on all physical machines.
>>
>> - Björn
>>
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>
>
>
> --
> Jonathan Herman
> Department of Computer Science at UNC Chapel Hill
>
> _______________________________________________
> 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/20130612/830376b2/attachment.html>


More information about the litmus-dev mailing list