From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hajime Tazaki Subject: Re: [RFC v2 07/37] lkl: interrupt support Date: Wed, 05 Feb 2020 16:38:58 +0900 Message-ID: References: <567fd4d5c395e2279e86ca0bfca544ad2773a31d.1573179553.git.thehajime@gmail.com> Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from mail-pg1-f195.google.com ([209.85.215.195]:46939 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727068AbgBEHjE (ORCPT ); Wed, 5 Feb 2020 02:39:04 -0500 Received: by mail-pg1-f195.google.com with SMTP id z124so520160pgb.13 for ; Tue, 04 Feb 2020 23:39:03 -0800 (PST) In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: richard.weinberger@gmail.com Cc: linux-um@lists.infradead.org, linux-arch@vger.kernel.org, tavi.purdila@gmail.com, retrage01@gmail.com, linux-kernel-library@freelists.org, sigmaepsilon92@gmail.com On Tue, 26 Nov 2019 07:13:55 +0900, Richard Weinberger wrote: > > On Fri, Nov 8, 2019 at 6:03 AM Hajime Tazaki wrote: > > > > From: Octavian Purdila > > > > Add APIs that allows the host to reserve and free and interrupt number > > and also to trigger an interrupt. > > > > The trigger operation will simply store the interrupt data in > > queue. The interrupt handler is run later, at the first opportunity it > > has to avoid races with any kernel threads. > > > > Currently, interrupts are run on the first interrupt enable operation > > if interrupts are disabled and if we are not already in interrupt > > context. > > > > When triggering an interrupt, it uses GCC's built-in functions for > > atomic memory access to synchronize and simple boolean flags. > > > > Signed-off-by: Hajime Tazaki > > Signed-off-by: Michael Zimmermann > > Signed-off-by: Octavian Purdila > > --- > > arch/um/lkl/include/asm/irq.h | 13 ++ > > arch/um/lkl/include/uapi/asm/irq.h | 36 ++++ > > arch/um/lkl/include/uapi/asm/sigcontext.h | 16 ++ > > arch/um/lkl/kernel/irq.c | 193 ++++++++++++++++++++++ > > Like I said before, this also something to unify with UML. > I'm aware that this is easily said but we cannot have too much duplication. > > Feel free to ask if UML internals give you headache. :-) Same as nommu implementation, I left this part as-is. Triggering interrupts with fd events (delivered by epoll&co) is a hard part to implement host-independent interrupts of LKL. OTOH, the v3 patchset shows that it is doable to use UML drivers with the LKL interrupt facility. I may also need more time to evaluate/find a right direction, though. Your comments are always welcome. -- Hajime