From mboxrd@z Thu Jan 1 00:00:00 1970 References: <20210109160233.921972-1-rpm@xenomai.org> <6632491e-7834-1a6e-f488-9b9077111adf@siemens.com> From: Philippe Gerum Subject: Re: [PATCH Dovetail 0/4] Get rid of the APC interface In-reply-to: <6632491e-7834-1a6e-f488-9b9077111adf@siemens.com> Date: Mon, 11 Jan 2021 14:07:33 +0100 Message-ID: <87im83k4fe.fsf@xenomai.org> MIME-Version: 1.0 Content-Type: text/plain List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: xenomai@xenomai.org Jan Kiszka writes: > On 09.01.21 17:02, Philippe Gerum wrote: >> From: Philippe Gerum >> >> 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.