Re: domain switch

2021-01-02 Thread Leandro Bucci via Xenomai
Awesome, thanks! Il dom 3 gen 2021, 00:06 steve freyder ha scritto: > 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

Re: domain switch

2021-01-02 Thread steve freyder via Xenomai
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

domain switch

2021-01-02 Thread Leandro Bucci via Xenomai
Hi, I wanted to know if there was a way to count the number of times a domain switch happens. For example the printf () function causes a domain switch, right?

CPU affinity and scheduler

2021-01-02 Thread Leandro Bucci via Xenomai
Hello and happy new year to all. I wanted to ask you in detail what this line means: isolcpus=0,1 xenomai.supported_cpus=0x3 I understand that 2 CPUs are isolated. (I'm working on a Raspberry). But in what sense are they isolated? does it mean that if a xenomai Task runs on one of the two CPUs

[PATCH Dovetail 13/13] cobalt/syscall: pipeline: abstract syscall entry points

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum The I-pipe and Dovetail differ only marginally with respect to syscall handling. Abstract only the few details we need to cope with both interfaces. No functional change is introduced. Signed-off-by: Philippe Gerum --- .../cobalt/kernel/ipipe/pipeline/kevents.h| 3

[PATCH Dovetail 12/13] cobalt/debug: pipeline: abstract panic prep call

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum No functional change is introduced. Signed-off-by: Philippe Gerum --- include/cobalt/kernel/ipipe/pipeline/pipeline.h | 5 + kernel/cobalt/debug.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git

[PATCH Dovetail 07/13] cobalt/clock: pipeline: make HOSTRT depend on IPIPE

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum This interface is pointless with Dovetail whose applications directly refer to the wallclock time exported through the common vDSO. No functional change is introduced. Signed-off-by: Philippe Gerum --- include/cobalt/kernel/vdso.h | 18 +++---

[PATCH Dovetail 09/13] cobalt/clock: pipeline: abstract clock, timer access services

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Dovetail exports integrated services for proxying the host tick, which requires no specific interface for managing the hardware timer beyond the common clockevents interface. Likewise, the monotonic and realtime clocks can be read directly from the out-of-band stage via the

[PATCH Dovetail 08/13] cobalt/build: pipeline: select IPIPE layer only if present

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum We may be able to build against a Dovetail-enabled kernel at some point, so do not force-enable CONFIG_IPIPE, it might not be there. At this chance, remove obsolete internal switches and conditions. All I-pipe implementations depend on the GENERIC_CLOCKEVENTS framework, and

[PATCH Dovetail 10/13] cobalt/wrappers: pipeline: abstract pipeline-related bits

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum No functional change is introduced. Signed-off-by: Philippe Gerum --- .../cobalt/kernel/ipipe/pipeline/wrappers.h | 25 +++ .../cobalt/include/linux/xenomai/wrappers.h | 23 - kernel/cobalt/posix/process.c | 2 +- 3

[PATCH Dovetail 11/13] cobalt/timer: pipeline: abstract tick management

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Dovetail comes with built-in support for proxy tick device management, which enables a client core to grab control over the timer hardware based on the common clockevents abstraction. Once Dovetail's proxy tick device is declared to the common clockevent device layer, all

[PATCH Dovetail 06/13] cobalt/sched, clock: pipeline: abstract IPI management

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum The I-pipe and Dovetail share the very same concept of out-of-band, high-priority IPI, but using a different interface. Let's abstract the calls manipulating those IPIs to make them pipeline-specific. No functional change is introduced. Signed-off-by: Philippe Gerum ---

[PATCH Dovetail 03/13] cobalt/trace: pipeline: abstract trace calls

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Unlike the I-pipe, Dovetail comes with no specific tracer, tracepoints can be sent to common ftrace-based tracers, with the 'function' tracer reporting Dovetail-specific information such as the current execution stage, and the real & virtual interrupt states (hard

[PATCH Dovetail 04/13] cobalt/lock: pipeline: abstract hard lock API

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Dovetail implements two types of locks: hard, and hybrid ones. See https://evlproject.org/dovetail/pipeline/locking/ for details. Cobalt is interested in using Dovetail's hard_spinlock_t locks, which are strictly equivalent to the ipipe_spinlock_t locks. Provide a wrapper

[PATCH Dovetail 05/13] cobalt/kernel: pipeline: abstract execution stage predicates

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum ipipe_root_p, !ipipe_root_p belong to the I-pipe jargon. Dovetail uses running_inband(), running_oob() for the same purpose instead. Replace all occurrences of ipipe_root_p found in generic code with is_primary_domain(), is_secondary_domain(), which in turn map to the

[PATCH Dovetail 00/13] Keep on abstracting the pipeline interface

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Most importantly: Happy new year, and best wishes. Sidenote: this is the next series of patches (out of 70+) which adds an abstraction layer to the Cobalt core, so that we can choose to interface it to the legacy I-pipe or Dovetail at build time. This is on top of the -next

[PATCH Dovetail 01/13] cobalt/thread: pipeline: abstract threadinfo accessor

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum The I-pipe and Dovetail access the per-thread information block differently. Abstract this kernel interface. No functional change is introduced. Signed-off-by: Philippe Gerum --- include/cobalt/kernel/ipipe/pipeline/thread.h | 26 +++

[PATCH Dovetail 02/13] cobalt/apc: pipeline: abstract interface for deferred routine calls

2021-01-02 Thread Philippe Gerum via Xenomai
From: Philippe Gerum Dovetail enables the regular irq_work() for submitting work from the out-of-band stage (primary mode) to the in-band one (secondary mode). We won't need APCs in the Dovetail case, let's move this code to the I-pipe section. No functional change is introduced.