Adding a new scheduling algorithm to Fiasco.OC

Adam Lackorzynski adam at
Thu Aug 14 23:22:36 CEST 2014

On Thu Aug 14, 2014 at 00:30:59 +0200, Valentin Hauner wrote:
> thanks, that makes things much clearer to me.
> On 08/13/2014 10:23 PM, Adam Lackorzynski wrote:
> > The assertion says that when starting an IPC, none of the IPC-related
> > thread state flags must be enabled. Print state() before the assertion
> > to know which one and get some more info.
> >   
> Before the assertion fails, bit #3 of the state flags is set (decimal:
> 8). Unfortunately, I cannot find any documentation of that state flags.
> Where do I have to look?

Thread states are defined in thread_state.cpp. Bit 3 is
Thread_receive_wait, so it is waiting already.

> Execution stops with thread with dbg_id 3a.
> 'lp' prints the information attached to this mail. 3a seems to wait for
> something, but what is '1s'?

3a is one of the hello threads. The thread waits for itself, with a one
second timeout (that's the 1s), so basically it does a sleep(1).

> By the way, what are those threads with no name (i.e. containing dashes
> in the 'name' column)?

That are those where nobody has set a name. In the 'sp' (space) column
you see to which task they belong.

When you trace a bit in do_ipc, does 3a enter do_ipc multiple times?

Adam                 adam at

More information about the l4-hackers mailing list