[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