All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org,
	aou@eecs.berkeley.edu, catalin.marinas@arm.com,
	deanbo422@gmail.com, green.hu@gmail.com, guoren@kernel.org,
	jonas@southpole.se, kernelfans@gmail.com,
	linux-arm-kernel@lists.infradead.org, linux@armlinux.org.uk,
	nickhu@andestech.com, palmer@dabbelt.com, paulmck@kernel.org,
	paul.walmsley@sifive.com, peterz@infradead.org, shorne@gmail.com,
	stefan.kristiansson@saunalahti.fi, torvalds@linux-foundation.org,
	tsbogend@alpha.franken.de, vgupta@kernel.org, will@kernel.org
Subject: Re: [PATCH 00/15] irq: remove handle_domain_{irq,nmi}()
Date: Sat, 23 Oct 2021 17:06:57 +0100	[thread overview]
Message-ID: <87h7d7bu8u.wl-maz@kernel.org> (raw)
In-Reply-To: <20211022151007.GD86184@C02TD0UTHF1T.local>

On Fri, 22 Oct 2021 16:10:07 +0100,
Mark Rutland <mark.rutland@arm.com> wrote:
> 
> On Fri, Oct 22, 2021 at 12:20:31PM +0100, Marc Zyngier wrote:
> > Hi Mark,
> > 
> > On Thu, 21 Oct 2021 19:02:21 +0100,
> > Mark Rutland <mark.rutland@arm.com> wrote:
> > > 
> > > The handle_domain_{irq,nmi}() functions were oringally intended as a
> > > convenience, but recent rework to entry code across the kernel tree has
> > > demonstrated that they cause more pain than they're worth and prevent
> > > architectures from being able to write robust entry code.
> > > 
> > > This series reworks the irq code to remove them, handling the necessary
> > > entry work consistently in entry code (be it architectural or generic).
> > 
> > [...]
> > 
> > Thanks for going through the pain of putting this together. The
> > couple of nits I mentioned notwithstanding:
> > 
> > Reviewed-by: Marc Zyngier <maz@kernel.org>
> 
> Thanks!
> 
> I've pushed out an updated version to my irq/handle-domain-irq branch
> on kernel.org:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
>   https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
> 
> That has two new patches you suggested:
> 
> * irq: mips: simplify bcm6345_l1_irq_handle()
> * irq: unexport handle_irq_desc()
> 
> ... which I did not add your Reviewed-by to in case the commit messages
> are garbage or something like that.

I quickly eyeballed the patches, and they look OK to me. Feel free to
add my RB tag to them.

> 
> > It'd be good to work out a merging strategy once this has seen a bit
> > of testing.
> 
> Conflict-wise, this merges near perfectly against next-20212022 aside
> from a trivial conflict against arch/riscv/Kconfig:
> 
> | [mark@lakrids:~/src/linux]% git merge irq/handle-domain-irq
> | Auto-merging arch/riscv/kernel/entry.S
> | Auto-merging arch/riscv/Kconfig
> | CONFLICT (content): Merge conflict in arch/riscv/Kconfig
> | Auto-merging arch/nds32/Kconfig
> | Auto-merging arch/mips/Kconfig
> | Auto-merging arch/csky/Kconfig
> | Auto-merging arch/arm64/Kconfig
> | Auto-merging arch/arm/mach-s3c/irq-s3c24xx.c
> | Auto-merging arch/arm/kernel/entry-armv.S
> | Auto-merging arch/arm/Kconfig
> | Auto-merging arch/arc/Kconfig
> | Automatic merge failed; fix conflicts and then commit the result.
> | [mark@lakrids:~/src/linux]% git diff
> | diff --cc arch/riscv/Kconfig
> | index 77a088d0a7e9,353e28f5f849..000000000000
> | --- a/arch/riscv/Kconfig
> | +++ b/arch/riscv/Kconfig
> | @@@ -62,8 -62,6 +62,11 @@@ config RISC
> |         select GENERIC_SCHED_CLOCK
> |         select GENERIC_SMP_IDLE_THREAD
> |         select GENERIC_TIME_VSYSCALL if MMU && 64BIT
> | ++<<<<<<< HEAD
> |  +      select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
> |  +      select HANDLE_DOMAIN_IRQ
> | ++=======
> | ++>>>>>>> irq/handle-domain-irq
> |         select HAVE_ARCH_AUDITSYSCALL
> |         select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
> |         select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL
> 
> ... where the resolution is:
> 
> | diff --cc arch/riscv/Kconfig
> | index 77a088d0a7e9,353e28f5f849..000000000000
> | --- a/arch/riscv/Kconfig
> | +++ b/arch/riscv/Kconfig
> | @@@ -62,8 -62,6 +62,7 @@@ config RISC
> |         select GENERIC_SCHED_CLOCK
> |         select GENERIC_SMP_IDLE_THREAD
> |         select GENERIC_TIME_VSYSCALL if MMU && 64BIT
> |  +      select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
> | -       select HANDLE_DOMAIN_IRQ
> |         select HAVE_ARCH_AUDITSYSCALL
> |         select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
> |         select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL
> 
> ... so I reckon we're not set for major pain there unless something new
> appears in arch code in the next few days.
> 
> If we can get this onto a branch for linux-next ASAP, and if Linus is
> happy with this having come together a little late, maybe we could queue
> this in tip for v5.16, perhaps after -rc1 to let this soak, or waiting
> to apply the final patch to make it easier to revert the arch changes if
> needed?

I'm happy to route it via the irqchip tree (and ultimately tip) if
nobody objects (which also means getting Acks from the arch maintainers).

The branch would thus see a bit of -next before being sent to Linus.

> I'd like to avoid sitting on this for an entire cycle if possible.

+1.

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org,
	aou@eecs.berkeley.edu, catalin.marinas@arm.com,
	deanbo422@gmail.com, green.hu@gmail.com, guoren@kernel.org,
	jonas@southpole.se, kernelfans@gmail.com,
	linux-arm-kernel@lists.infradead.org, linux@armlinux.org.uk,
	nickhu@andestech.com, palmer@dabbelt.com, paulmck@kernel.org,
	paul.walmsley@sifive.com, peterz@infradead.org, shorne@gmail.com,
	stefan.kristiansson@saunalahti.fi, torvalds@linux-foundation.org,
	tsbogend@alpha.franken.de, vgupta@kernel.org, will@kernel.org
Subject: Re: [PATCH 00/15] irq: remove handle_domain_{irq,nmi}()
Date: Sat, 23 Oct 2021 17:06:57 +0100	[thread overview]
Message-ID: <87h7d7bu8u.wl-maz@kernel.org> (raw)
In-Reply-To: <20211022151007.GD86184@C02TD0UTHF1T.local>

On Fri, 22 Oct 2021 16:10:07 +0100,
Mark Rutland <mark.rutland@arm.com> wrote:
> 
> On Fri, Oct 22, 2021 at 12:20:31PM +0100, Marc Zyngier wrote:
> > Hi Mark,
> > 
> > On Thu, 21 Oct 2021 19:02:21 +0100,
> > Mark Rutland <mark.rutland@arm.com> wrote:
> > > 
> > > The handle_domain_{irq,nmi}() functions were oringally intended as a
> > > convenience, but recent rework to entry code across the kernel tree has
> > > demonstrated that they cause more pain than they're worth and prevent
> > > architectures from being able to write robust entry code.
> > > 
> > > This series reworks the irq code to remove them, handling the necessary
> > > entry work consistently in entry code (be it architectural or generic).
> > 
> > [...]
> > 
> > Thanks for going through the pain of putting this together. The
> > couple of nits I mentioned notwithstanding:
> > 
> > Reviewed-by: Marc Zyngier <maz@kernel.org>
> 
> Thanks!
> 
> I've pushed out an updated version to my irq/handle-domain-irq branch
> on kernel.org:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
>   https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
> 
> That has two new patches you suggested:
> 
> * irq: mips: simplify bcm6345_l1_irq_handle()
> * irq: unexport handle_irq_desc()
> 
> ... which I did not add your Reviewed-by to in case the commit messages
> are garbage or something like that.

I quickly eyeballed the patches, and they look OK to me. Feel free to
add my RB tag to them.

> 
> > It'd be good to work out a merging strategy once this has seen a bit
> > of testing.
> 
> Conflict-wise, this merges near perfectly against next-20212022 aside
> from a trivial conflict against arch/riscv/Kconfig:
> 
> | [mark@lakrids:~/src/linux]% git merge irq/handle-domain-irq
> | Auto-merging arch/riscv/kernel/entry.S
> | Auto-merging arch/riscv/Kconfig
> | CONFLICT (content): Merge conflict in arch/riscv/Kconfig
> | Auto-merging arch/nds32/Kconfig
> | Auto-merging arch/mips/Kconfig
> | Auto-merging arch/csky/Kconfig
> | Auto-merging arch/arm64/Kconfig
> | Auto-merging arch/arm/mach-s3c/irq-s3c24xx.c
> | Auto-merging arch/arm/kernel/entry-armv.S
> | Auto-merging arch/arm/Kconfig
> | Auto-merging arch/arc/Kconfig
> | Automatic merge failed; fix conflicts and then commit the result.
> | [mark@lakrids:~/src/linux]% git diff
> | diff --cc arch/riscv/Kconfig
> | index 77a088d0a7e9,353e28f5f849..000000000000
> | --- a/arch/riscv/Kconfig
> | +++ b/arch/riscv/Kconfig
> | @@@ -62,8 -62,6 +62,11 @@@ config RISC
> |         select GENERIC_SCHED_CLOCK
> |         select GENERIC_SMP_IDLE_THREAD
> |         select GENERIC_TIME_VSYSCALL if MMU && 64BIT
> | ++<<<<<<< HEAD
> |  +      select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
> |  +      select HANDLE_DOMAIN_IRQ
> | ++=======
> | ++>>>>>>> irq/handle-domain-irq
> |         select HAVE_ARCH_AUDITSYSCALL
> |         select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
> |         select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL
> 
> ... where the resolution is:
> 
> | diff --cc arch/riscv/Kconfig
> | index 77a088d0a7e9,353e28f5f849..000000000000
> | --- a/arch/riscv/Kconfig
> | +++ b/arch/riscv/Kconfig
> | @@@ -62,8 -62,6 +62,7 @@@ config RISC
> |         select GENERIC_SCHED_CLOCK
> |         select GENERIC_SMP_IDLE_THREAD
> |         select GENERIC_TIME_VSYSCALL if MMU && 64BIT
> |  +      select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
> | -       select HANDLE_DOMAIN_IRQ
> |         select HAVE_ARCH_AUDITSYSCALL
> |         select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
> |         select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL
> 
> ... so I reckon we're not set for major pain there unless something new
> appears in arch code in the next few days.
> 
> If we can get this onto a branch for linux-next ASAP, and if Linus is
> happy with this having come together a little late, maybe we could queue
> this in tip for v5.16, perhaps after -rc1 to let this soak, or waiting
> to apply the final patch to make it easier to revert the arch changes if
> needed?

I'm happy to route it via the irqchip tree (and ultimately tip) if
nobody objects (which also means getting Acks from the arch maintainers).

The branch would thus see a bit of -next before being sent to Linus.

> I'd like to avoid sitting on this for an entire cycle if possible.

+1.

	M.

-- 
Without deviation from the norm, progress is not possible.

  reply	other threads:[~2021-10-23 16:08 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21 18:02 [PATCH 00/15] irq: remove handle_domain_{irq,nmi}() Mark Rutland
2021-10-21 18:02 ` Mark Rutland
2021-10-21 18:02 ` [PATCH 01/15] irq: mips: avoid nested irq_enter() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22 10:38   ` Marc Zyngier
2021-10-22 10:38     ` Marc Zyngier
2021-10-22 15:05     ` Mark Rutland
2021-10-22 15:05       ` Mark Rutland
2021-10-24 15:31   ` Thomas Bogendoerfer
2021-10-24 15:31     ` Thomas Bogendoerfer
2021-10-21 18:02 ` [PATCH 02/15] irq: mips: stop (ab)using handle_domain_irq() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-24 15:30   ` Thomas Bogendoerfer
2021-10-24 15:30     ` Thomas Bogendoerfer
2021-10-21 18:02 ` [PATCH 03/15] irq: mips: simplify do_domain_IRQ() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-24 15:31   ` Thomas Bogendoerfer
2021-10-24 15:31     ` Thomas Bogendoerfer
2021-10-28 17:07   ` Guenter Roeck
2021-10-28 17:07     ` Guenter Roeck
2021-10-28 17:11     ` Mark Rutland
2021-10-28 17:11       ` Mark Rutland
2021-10-21 18:02 ` [PATCH 04/15] irq: simplify handle_domain_{irq,nmi}() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22 10:52   ` Marc Zyngier
2021-10-22 10:52     ` Marc Zyngier
2021-10-22 15:05     ` Mark Rutland
2021-10-22 15:05       ` Mark Rutland
2021-10-21 18:02 ` [PATCH 05/15] irq: add generic_handle_arch_irq() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22  2:10   ` Pingfan Liu
2021-10-22  2:10     ` Pingfan Liu
2021-10-22  9:02     ` Mark Rutland
2021-10-22  9:02       ` Mark Rutland
2021-10-22  2:33   ` Guo Ren
2021-10-22  2:33     ` Guo Ren
2021-10-22  8:52     ` Mark Rutland
2021-10-22  8:52       ` Mark Rutland
2021-10-24  1:53       ` Guo Ren
2021-10-24  1:53         ` Guo Ren
2021-10-21 18:02 ` [PATCH 06/15] irq: arc: avoid CONFIG_HANDLE_DOMAIN_IRQ Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-21 18:02 ` [PATCH 07/15] irq: nds32: " Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22  6:35   ` Greentime Hu
2021-10-22  6:35     ` Greentime Hu
2021-10-21 18:02 ` [PATCH 08/15] irq: add a (temporary) CONFIG_HANDLE_DOMAIN_IRQ_IRQENTRY Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-21 18:02 ` [PATCH 09/15] irq: arm: perform irqentry in entry code Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22 15:18   ` Vladimir Murzin
2021-10-22 15:18     ` Vladimir Murzin
2021-10-22 15:36     ` Mark Rutland
2021-10-22 15:36       ` Mark Rutland
2021-10-22 16:34       ` Vladimir Murzin
2021-10-22 16:34         ` Vladimir Murzin
2021-10-22 17:58         ` Mark Rutland
2021-10-22 17:58           ` Mark Rutland
2021-10-22 18:43           ` Marc Zyngier
2021-10-22 18:43             ` Marc Zyngier
2021-10-23 12:06             ` Vladimir Murzin
2021-10-23 12:06               ` Vladimir Murzin
2021-10-23 13:18               ` Marc Zyngier
2021-10-23 13:18                 ` Marc Zyngier
2021-10-23 13:36                 ` Vladimir Murzin
2021-10-23 13:36                   ` Vladimir Murzin
2021-11-30  8:49                   ` Vladimir Murzin
2021-11-30  8:49                     ` Vladimir Murzin
2021-12-01  7:56                     ` Marc Zyngier
2021-12-01  7:56                       ` Marc Zyngier
2021-10-21 18:02 ` [PATCH 10/15] irq: arm64: " Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22  1:57   ` Pingfan Liu
2021-10-22  1:57     ` Pingfan Liu
2021-10-25 18:00   ` Catalin Marinas
2021-10-25 18:00     ` Catalin Marinas
2021-10-21 18:02 ` [PATCH 11/15] irq: csky: " Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22  2:19   ` Guo Ren
2021-10-22  2:19     ` Guo Ren
2021-10-22  2:26     ` Guo Ren
2021-10-22  2:26       ` Guo Ren
2021-10-21 18:02 ` [PATCH 12/15] irq: openrisc: " Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22 20:40   ` Stafford Horne
2021-10-22 20:40     ` Stafford Horne
2021-10-21 18:02 ` [PATCH 13/15] irq: riscv: " Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22  1:59   ` Guo Ren
2021-10-22  1:59     ` Guo Ren
2021-10-27 21:22   ` Palmer Dabbelt
2021-10-27 21:22     ` Palmer Dabbelt
2021-10-21 18:02 ` [PATCH 14/15] irq: remove CONFIG_HANDLE_DOMAIN_IRQ_IRQENTRY Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-21 18:02 ` [PATCH 15/15] irq: remove handle_domain_{irq,nmi}() Mark Rutland
2021-10-21 18:02   ` Mark Rutland
2021-10-22 10:05   ` Marc Zyngier
2021-10-22 10:05     ` Marc Zyngier
2021-10-22 15:06     ` Mark Rutland
2021-10-22 15:06       ` Mark Rutland
2021-10-22  1:26 ` [PATCH 00/15] " Linus Torvalds
2021-10-22  1:26   ` Linus Torvalds
2021-10-22 11:20 ` Marc Zyngier
2021-10-22 11:20   ` Marc Zyngier
2021-10-22 15:10   ` Mark Rutland
2021-10-22 15:10     ` Mark Rutland
2021-10-23 16:06     ` Marc Zyngier [this message]
2021-10-23 16:06       ` Marc Zyngier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h7d7bu8u.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=catalin.marinas@arm.com \
    --cc=deanbo422@gmail.com \
    --cc=green.hu@gmail.com \
    --cc=guoren@kernel.org \
    --cc=jonas@southpole.se \
    --cc=kernelfans@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=nickhu@andestech.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=shorne@gmail.com \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tsbogend@alpha.franken.de \
    --cc=vgupta@kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.