Hi,

this looks suspicious to me:

static inline void do_taskexit_event(struct task_struct *p)
{
        ...
        if (xnpod_shadow_p())
                xnshadow_relax(0);

A) The only call context of this hook is do_exit() - and that's Linux
kernel code which should always run in secondary mode, no?

B) Even if we were called once in a while from primary mode here, too,
the check xnpod_shadow_p() would only tell us that we are a shadow
thread, not in which mode we currently run.

I've tested a removal of this hunk and found no regressions so far. Will
post a patch unless someone can explain why we actually need this (and
why A) and B) are non-issues).

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to