[PATCH Dovetail 0/4] Get rid of the APC interface
Philippe Gerum
rpm at xenomai.org
Mon Jan 11 14:07:33 CET 2021
Jan Kiszka <jan.kiszka at siemens.com> writes:
> On 09.01.21 17:02, Philippe Gerum wrote:
>> From: Philippe Gerum <rpm at xenomai.org>
>>
>> This patch starts a series aiming at dropping the (functionally
>> redundant) APC interface entirely.
>>
>> APCs are a relic from the Dark Ages, with no upside compared to open
>> coded requests triggering virtual/synthetic IRQs to be handled by the
>> root domain. As a matter of fact, an APC does run as a client handler
>> of a synthetic IRQ under the hood. In other words, the APC
>> encapsulation adds nothing but useless overhead.
>>
>> Philippe Gerum (4):
>> cobalt/pipe: drop dependency on APCs
>> cobalt/registry: drop dependency on APCs
>> cobalt/select: drop dependency on APCs
>> cobalt/apc: drop obsolete APC mechanism
>>
>> include/cobalt/kernel/apc.h | 32 ---
>> .../cobalt/kernel/ipipe/pipeline/machine.h | 2 -
>> include/cobalt/kernel/rtdm/driver.h | 1 -
>> kernel/cobalt/ipipe/Makefile | 2 +-
>> kernel/cobalt/ipipe/apc.c | 202 ------------------
>> kernel/cobalt/ipipe/init.c | 19 --
>> kernel/cobalt/pipe.c | 26 ++-
>> kernel/cobalt/procfs.c | 42 ----
>> kernel/cobalt/registry.c | 30 +--
>> kernel/cobalt/rtdm/core.c | 1 -
>> kernel/cobalt/select.c | 23 +-
>> 11 files changed, 49 insertions(+), 331 deletions(-)
>> delete mode 100644 include/cobalt/kernel/apc.h
>> delete mode 100644 kernel/cobalt/ipipe/apc.c
>>
>
> Would it make sense to introduce the pipeline abstraction of those
> services first? Then you won't touch the core code twice, once again for
> removing all the ipipe references.
>
I'd rather do it the way it is: first we prove that there is no
regression in open coding APCs based on virtual IRQs, then we do a 1:1
mapping from the I-pipe virtual IRQs to Dovetail's synthetic IRQs which
have the very same semantics.
--
Philippe.
More information about the Xenomai
mailing list