domain switch
Philippe Gerum
rpm at xenomai.org
Sun Jan 3 11:31:34 CET 2021
steve freyder via Xenomai <xenomai at xenomai.org> writes:
> Right.
>
>
> AKA, "mode switch", a switch from "primary mode" to "secondary mode",
> or vice versa.
>
> One place you can find that information is in:
>
> /proc/xenomai/sched/acct
>
> there are two fields MSW, and CSW which count mode/context switches
> per-process. This requires an open, a read loop to locate the desired
> pid and extract the desired information, then either rewind or
> close/reopen to do it again - all of which will almost surely generate
> more mode/context switching.
>
If that helps, there is also the option of getting the thread stats by
program, using int cobalt_thread_stat(pid_t pid, struct
cobalt_threadstat *stat), declared in sys/cobalt.h. pid refers to a
thread identifier (as obtained from gettid(2) in the context of the
target thread). It must refer to a Cobalt thread, otherwise the call
would fail with -ESRCH.
The mode switch count is present in the returned information block
(->msw). cobalt_thread_stat() would not cause any mode switch. It can be
called by any thread regardless of its type (i.e. regular or Cobalt).
--
Philippe.
More information about the Xenomai
mailing list