Hello Yanfeng,

On 2024-11-24 08:06, Yanfeng via Devel wrote:
I am wondering when checking a running seL4 target from GDB,
how can we find all threads?

There is no easy way.

It seems that `ksReadyQueues[]` only holds a sub set.

It only hold tasks that want to run now, but can't because
there is another task running.

MCS also has a refill queue which holds tasks that want
to run, but can't because they ran out of budget for
their period.

But the main problem is that all tasks not running either
are suspended or blocked and they are scattered around in
different queues. They can block on endpoints, notifications
or be waiting for a reply or a fault handler.

Every endpoint and notification has its own queues. Suspended
tasks are not in any queue at all.

Assuming you allocated all TCB's caps sequentially in your
initial task's root CNode, finding them through that might
be the easiest way.

Greetings,

Indan
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to