All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Florian Fainelli <f.fainelli@gmail.com>, Marc Zyngier <maz@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Russell King <linux@armlinux.org.uk>, Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	"maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." 
	<bcm-kernel-feedback-list@broadcom.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Ard Biesheuvel <ardb@kernel.org>, Mike Rapoport <rppt@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Arnd Bergmann <arnd@arndb.de>, Guenter Roeck <linux@roeck-us.net>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Andrey Konovalov <andreyknvl@gmail.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Valentin Schneider <valentin.schneider@arm.com>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
	"open list:SUPERH" <linux-sh@vger.kernel.org>,
	"open list:BROADCOM BMIPS MIPS ARCHITECTURE" 
	<linux-mips@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE" 
	<devicetree@vger.kernel.org>
Subject: Re: [PATCH 03/11] genirq: Export irq_set_affinity_locked()
Date: Mon, 27 Sep 2021 20:18:36 +0200	[thread overview]
Message-ID: <87tui5c26b.ffs@tglx> (raw)
In-Reply-To: <3e73c85e-20d1-43ae-3c3a-04322ffa970e@gmail.com>

On Mon, Sep 27 2021 at 10:47, Florian Fainelli wrote:
> On 9/25/21 2:37 PM, Thomas Gleixner wrote:
>>> I wanted to kill these callbacks years ago. Cavium has two variants of
>>> those offline/online callbacks:
>>>
>>>  1) octeon_irq_cpu_offline_ciu() which is doing the same as that BCM
>>>     driver. These really can go away. Just remove the callback and
>>>     everything just works.
>> 
>> For BCM this works today when that chip is used on ARM[64] simply
>> because the only architecture which invokes irq_cpu_offline() is MIPS.
>
> That is correct. How would you recommend addressing that? In premise
> when this driver is used on ARM[64] it is used as a second level
> interrupt controller hanging off the ARM GIC (or another ARM CPU
> interrupt controller), so in that case I suppose I could make the
> irq_set_cpu_offline be dependent upon CONFIG_SMP and CONFIG_MIPS, would
> that be acceptable?

Why? Just get rid of the callback in that driver and ensure that
irq_migrate_all_off_this_cpu() is invoked when the CPU dies.

arch/mips/kernel/smp-cps.c already does that, but I don't know whether
your MIPS platform uses those SMP ops. If not you surely have a template
there.

Thanks,

        tglx



WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de>
To: Florian Fainelli <f.fainelli@gmail.com>, Marc Zyngier <maz@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Russell King <linux@armlinux.org.uk>, Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	"maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..."
	<bcm-kernel-feedback-list@broadcom.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Ard Biesheuvel <ardb@kernel.org>, Mike Rapoport <rppt@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Arnd Bergmann <arnd@arndb.de>, Guenter Roeck <linux@roeck-us.net>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Andrey Konovalov <andreyknvl@gmail.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Valentin Schneider <valentin.schneider@arm.com>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
	"open list:SUPERH" <linux-sh@vger.kernel.org>,
	"open list:BROADCOM BMIPS MIPS ARCHITECTURE"
	<linux-mips@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE"
	<devicetree@vger.kernel.org>
Subject: Re: [PATCH 03/11] genirq: Export irq_set_affinity_locked()
Date: Mon, 27 Sep 2021 20:18:36 +0200	[thread overview]
Message-ID: <87tui5c26b.ffs@tglx> (raw)
In-Reply-To: <3e73c85e-20d1-43ae-3c3a-04322ffa970e@gmail.com>

On Mon, Sep 27 2021 at 10:47, Florian Fainelli wrote:
> On 9/25/21 2:37 PM, Thomas Gleixner wrote:
>>> I wanted to kill these callbacks years ago. Cavium has two variants of
>>> those offline/online callbacks:
>>>
>>>  1) octeon_irq_cpu_offline_ciu() which is doing the same as that BCM
>>>     driver. These really can go away. Just remove the callback and
>>>     everything just works.
>> 
>> For BCM this works today when that chip is used on ARM[64] simply
>> because the only architecture which invokes irq_cpu_offline() is MIPS.
>
> That is correct. How would you recommend addressing that? In premise
> when this driver is used on ARM[64] it is used as a second level
> interrupt controller hanging off the ARM GIC (or another ARM CPU
> interrupt controller), so in that case I suppose I could make the
> irq_set_cpu_offline be dependent upon CONFIG_SMP and CONFIG_MIPS, would
> that be acceptable?

Why? Just get rid of the callback in that driver and ensure that
irq_migrate_all_off_this_cpu() is invoked when the CPU dies.

arch/mips/kernel/smp-cps.c already does that, but I don't know whether
your MIPS platform uses those SMP ops. If not you surely have a template
there.

Thanks,

        tglx



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

  reply	other threads:[~2021-09-27 18:18 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-24 17:05 [PATCH 00/11] Modular Broadcom irqchip drivers Florian Fainelli
2021-09-24 17:05 ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 01/11] arch: Export cpu_logical_map to modules Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-27 19:32   ` Rob Herring
2021-09-27 19:32     ` Rob Herring
2021-09-27 19:43     ` Florian Fainelli
2021-09-27 19:43       ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 02/11] genirq: Export irq_to_desc() again " Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-25 21:00   ` Thomas Gleixner
2021-09-25 21:00     ` Thomas Gleixner
2021-09-26  2:29     ` Florian Fainelli
2021-09-26  2:29       ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 03/11] genirq: Export irq_set_affinity_locked() Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-25 11:48   ` Marc Zyngier
2021-09-25 11:48     ` Marc Zyngier
2021-09-25 21:21     ` Thomas Gleixner
2021-09-25 21:21       ` Thomas Gleixner
2021-09-25 21:37       ` Thomas Gleixner
2021-09-25 21:37         ` Thomas Gleixner
2021-09-27 17:47         ` Florian Fainelli
2021-09-27 17:47           ` Florian Fainelli
2021-09-27 18:18           ` Thomas Gleixner [this message]
2021-09-27 18:18             ` Thomas Gleixner
2021-09-27 18:25             ` Florian Fainelli
2021-09-27 18:25               ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 04/11] irqchip/irq-bcm7038-l1: Switch to IRQCHIP_PLATFORM_DRIVER Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 05/11] irqchip/irq-brcmstb-l2: " Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 06/11] genirq: Export irq_gc_{unmask_enable,mask_disable}_reg Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-26  2:30   ` Florian Fainelli
2021-09-26  2:30     ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 07/11] of/irq: Export of_irq_count to drivers Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-27 19:08   ` Rob Herring
2021-09-27 19:08     ` Rob Herring
2021-09-27 19:28     ` Florian Fainelli
2021-09-27 19:28       ` Florian Fainelli
2021-09-27 19:43       ` Rob Herring
2021-09-27 19:43         ` Rob Herring
2021-09-27 19:49         ` Florian Fainelli
2021-09-27 19:49           ` Florian Fainelli
2021-09-27 20:09           ` Rob Herring
2021-09-27 20:09             ` Rob Herring
2021-09-28  8:10           ` Marc Zyngier
2021-09-28  8:10             ` Marc Zyngier
2021-09-24 17:05 ` [PATCH 08/11] genirq: Export irq_gc_noop() Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 09/11] irqchip/irq-bcm7120-l2: Switch to IRQCHIP_PLATFORM_DRIVER Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-24 17:05 ` [PATCH 10/11] arm64: broadcom: Removed forced select of interrupt controllers Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli
2021-09-25 12:09   ` Marc Zyngier
2021-09-25 12:09     ` Marc Zyngier
2021-09-25 17:46     ` Arnd Bergmann
2021-09-25 17:46       ` Arnd Bergmann
2021-09-24 17:05 ` [PATCH 11/11] ARM: bcm: " Florian Fainelli
2021-09-24 17:05   ` Florian Fainelli

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=87tui5c26b.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=anshuman.khandual@arm.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@roeck-us.net \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rjui@broadcom.com \
    --cc=robh+dt@kernel.org \
    --cc=rppt@kernel.org \
    --cc=sbranden@broadcom.com \
    --cc=valentin.schneider@arm.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /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.