All of lore.kernel.org
 help / color / mirror / Atom feed
From: Valentin Schneider <valentin.schneider@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: Guenter Roeck <linux@roeck-us.net>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Andrew Lunn <andrew@lunn.ch>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Scott Branden <sbranden@broadcom.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Ray Jui <rjui@broadcom.com>, Thomas Gleixner <tglx@linutronix.de>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH 3/5] irqchip/bcm2836: Make IPIs use handle_percpu_devid_irq()
Date: Tue, 15 Dec 2020 11:14:50 +0000	[thread overview]
Message-ID: <jhjim93tj6l.mognet@arm.com> (raw)
In-Reply-To: <38f8fbe9ceb7a0adb47e62d62260b297@kernel.org>


On 15/12/20 10:19, Marc Zyngier wrote:
> Hi Gunter,
>
> On 2020-12-15 00:21, Guenter Roeck wrote:
>> On Mon, Nov 09, 2020 at 09:41:19AM +0000, Valentin Schneider wrote:
>>> As done for the Arm GIC irqchips, move IPIs to
>>> handle_percpu_devid_irq() as
>>> handle_percpu_devid_fasteoi_ipi() isn't actually required.
>>>
>>> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
>>
>> This patch results in boot failures (silent stall) for the qemu
>> raspi2 emulation. Unfortunately it can not be reverted because
>> handle_percpu_devid_fasteoi_ipi no longer exists in next-20201214,
>> so I don't know if it is the only problem.
>
> This is odd. This works just fine for me on both the RPi2 and 3
> emulation, running a full Debian userspace. Could this be caused
> by the version of QEMU you are using? Here's what I have:
>
> $ qemu-system-arm --version
> QEMU emulator version 5.1.0 (Debian 1:5.1+dfsg-4+b1)
>
> Could you try the following hack and let me know if that helps?
>

Thanks for looking into this. It does look like I inverted the ordering of
that mailbox write vs the handling of the IPI. I don't see how the IPI
could mess with the mailbox (unless some creative use of irq_work /
smp_call), but in any case having the write in irq_ack() as you've done
below should restore said ordering.

> Thanks,
>
>          M.
>
> diff --git a/drivers/irqchip/irq-bcm2836.c
> b/drivers/irqchip/irq-bcm2836.c
> index 5f5eb8877c41..25c9a9c06e41 100644
> --- a/drivers/irqchip/irq-bcm2836.c
> +++ b/drivers/irqchip/irq-bcm2836.c
> @@ -167,7 +167,7 @@ static void bcm2836_arm_irqchip_handle_ipi(struct
> irq_desc *desc)
>       chained_irq_exit(chip, desc);
>   }
>
> -static void bcm2836_arm_irqchip_ipi_eoi(struct irq_data *d)
> +static void bcm2836_arm_irqchip_ipi_ack(struct irq_data *d)
>   {
>       int cpu = smp_processor_id();
>
> @@ -195,7 +195,7 @@ static struct irq_chip bcm2836_arm_irqchip_ipi = {
>       .name		= "IPI",
>       .irq_mask	= bcm2836_arm_irqchip_dummy_op,
>       .irq_unmask	= bcm2836_arm_irqchip_dummy_op,
> -	.irq_eoi	= bcm2836_arm_irqchip_ipi_eoi,
> +	.irq_ack	= bcm2836_arm_irqchip_ipi_ack,
>       .ipi_send_mask	= bcm2836_arm_irqchip_ipi_send_mask,
>   };

WARNING: multiple messages have this Message-ID (diff)
From: Valentin Schneider <valentin.schneider@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Scott Branden <sbranden@broadcom.com>,
	Ray Jui <rjui@broadcom.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	linux-kernel@vger.kernel.org,
	Florian Fainelli <f.fainelli@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH 3/5] irqchip/bcm2836: Make IPIs use handle_percpu_devid_irq()
Date: Tue, 15 Dec 2020 11:14:50 +0000	[thread overview]
Message-ID: <jhjim93tj6l.mognet@arm.com> (raw)
In-Reply-To: <38f8fbe9ceb7a0adb47e62d62260b297@kernel.org>


On 15/12/20 10:19, Marc Zyngier wrote:
> Hi Gunter,
>
> On 2020-12-15 00:21, Guenter Roeck wrote:
>> On Mon, Nov 09, 2020 at 09:41:19AM +0000, Valentin Schneider wrote:
>>> As done for the Arm GIC irqchips, move IPIs to
>>> handle_percpu_devid_irq() as
>>> handle_percpu_devid_fasteoi_ipi() isn't actually required.
>>>
>>> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
>>
>> This patch results in boot failures (silent stall) for the qemu
>> raspi2 emulation. Unfortunately it can not be reverted because
>> handle_percpu_devid_fasteoi_ipi no longer exists in next-20201214,
>> so I don't know if it is the only problem.
>
> This is odd. This works just fine for me on both the RPi2 and 3
> emulation, running a full Debian userspace. Could this be caused
> by the version of QEMU you are using? Here's what I have:
>
> $ qemu-system-arm --version
> QEMU emulator version 5.1.0 (Debian 1:5.1+dfsg-4+b1)
>
> Could you try the following hack and let me know if that helps?
>

Thanks for looking into this. It does look like I inverted the ordering of
that mailbox write vs the handling of the IPI. I don't see how the IPI
could mess with the mailbox (unless some creative use of irq_work /
smp_call), but in any case having the write in irq_ack() as you've done
below should restore said ordering.

> Thanks,
>
>          M.
>
> diff --git a/drivers/irqchip/irq-bcm2836.c
> b/drivers/irqchip/irq-bcm2836.c
> index 5f5eb8877c41..25c9a9c06e41 100644
> --- a/drivers/irqchip/irq-bcm2836.c
> +++ b/drivers/irqchip/irq-bcm2836.c
> @@ -167,7 +167,7 @@ static void bcm2836_arm_irqchip_handle_ipi(struct
> irq_desc *desc)
>       chained_irq_exit(chip, desc);
>   }
>
> -static void bcm2836_arm_irqchip_ipi_eoi(struct irq_data *d)
> +static void bcm2836_arm_irqchip_ipi_ack(struct irq_data *d)
>   {
>       int cpu = smp_processor_id();
>
> @@ -195,7 +195,7 @@ static struct irq_chip bcm2836_arm_irqchip_ipi = {
>       .name		= "IPI",
>       .irq_mask	= bcm2836_arm_irqchip_dummy_op,
>       .irq_unmask	= bcm2836_arm_irqchip_dummy_op,
> -	.irq_eoi	= bcm2836_arm_irqchip_ipi_eoi,
> +	.irq_ack	= bcm2836_arm_irqchip_ipi_ack,
>       .ipi_send_mask	= bcm2836_arm_irqchip_ipi_send_mask,
>   };

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

  reply	other threads:[~2020-12-15 11:16 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-09  9:41 [PATCH 0/5] genirq: Get rid of handle_percpu_devid_fasteoi_ipi() Valentin Schneider
2020-11-09  9:41 ` Valentin Schneider
2020-11-09  9:41 ` [PATCH 1/5] irqchip/gic, gic-v3: Make SGIs use handle_percpu_devid_irq() Valentin Schneider
2020-11-09  9:41   ` Valentin Schneider
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Valentin Schneider
2020-11-09  9:41 ` [PATCH 2/5] irqchip/armada-370-xp: Make IPIs " Valentin Schneider
2020-11-09  9:41   ` Valentin Schneider
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Valentin Schneider
2020-11-09  9:41 ` [PATCH 3/5] irqchip/bcm2836: " Valentin Schneider
2020-11-09  9:41   ` Valentin Schneider
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Valentin Schneider
2020-12-15  0:21   ` [PATCH 3/5] " Guenter Roeck
2020-12-15  0:21     ` Guenter Roeck
2020-12-15 10:19     ` Marc Zyngier
2020-12-15 10:19       ` Marc Zyngier
2020-12-15 11:14       ` Valentin Schneider [this message]
2020-12-15 11:14         ` Valentin Schneider
2020-12-15 12:14         ` Marc Zyngier
2020-12-15 12:14           ` Marc Zyngier
2020-12-15 15:21       ` Guenter Roeck
2020-12-15 15:21         ` Guenter Roeck
2020-12-15 15:26         ` Marc Zyngier
2020-12-15 15:26           ` Marc Zyngier
2020-12-15 15:39           ` Guenter Roeck
2020-12-15 15:39             ` Guenter Roeck
2020-12-15 15:46             ` Marc Zyngier
2020-12-15 15:46               ` Marc Zyngier
2020-12-15 16:23               ` Guenter Roeck
2020-12-15 16:23                 ` Guenter Roeck
2020-12-18  5:18               ` Guenter Roeck
2020-12-18  5:18                 ` Guenter Roeck
2020-12-18 18:40                 ` Marc Zyngier
2020-12-18 18:40                   ` Marc Zyngier
2020-12-18 18:47                   ` Guenter Roeck
2020-12-18 18:47                     ` Guenter Roeck
2020-12-18 18:40             ` [irqchip: irq/irqchip-next] irqchip/bcm2836: Fix IPI acknowledgement after conversion to handle_percpu_devid_irq irqchip-bot for Marc Zyngier
2020-12-18 20:36               ` Valentin Schneider
2020-12-18 20:53                 ` Marc Zyngier
2020-11-09  9:41 ` [PATCH 4/5] irqchip/hip04: Make IPIs use handle_percpu_devid_irq() Valentin Schneider
2020-11-09  9:41   ` Valentin Schneider
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Valentin Schneider
2020-11-09  9:41 ` [PATCH 5/5] Revert "genirq: Add fasteoi IPI flow" Valentin Schneider
2020-11-09  9:41   ` Valentin Schneider
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Valentin Schneider
2020-12-11 15:01 ` [PATCH 0/5] genirq: Get rid of handle_percpu_devid_fasteoi_ipi() Marc Zyngier
2020-12-11 15:01   ` 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=jhjim93tj6l.mognet@arm.com \
    --to=valentin.schneider@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=andrew@lunn.ch \
    --cc=f.fainelli@gmail.com \
    --cc=gregory.clement@bootlin.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=maz@kernel.org \
    --cc=rjui@broadcom.com \
    --cc=sbranden@broadcom.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=tglx@linutronix.de \
    /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.