All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
	<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
	<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
	<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	<jianyong.wu@arm.com>, <justin.he@arm.com>,
	James Morse <james.morse@arm.com>
Subject: Re: [PATCH RFC v3 14/21] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc()
Date: Tue, 23 Jan 2024 10:08:21 +0000	[thread overview]
Message-ID: <20240123100821.00000064@Huawei.com> (raw)
In-Reply-To: <ZZ2eGLwlkqZrh0In@shell.armlinux.org.uk>

On Tue, 9 Jan 2024 19:27:20 +0000
"Russell King (Oracle)" <linux@armlinux.org.uk> wrote:

> On Fri, Dec 15, 2023 at 04:33:01PM +0000, Jonathan Cameron wrote:
> > On Wed, 13 Dec 2023 12:50:23 +0000
> > Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> >   
> > > From: James Morse <james.morse@arm.com>
> > > 
> > > gic_acpi_match_gicc() is only called via gic_acpi_count_gicr_regions().
> > > It should only count the number of enabled redistributors, but it
> > > also tries to sanity check the GICC entry, currently returning an
> > > error if the Enabled bit is set, but the gicr_base_address is zero.
> > > 
> > > Adding support for the online-capable bit to the sanity check
> > > complicates it, for no benefit. The existing check implicitly
> > > depends on gic_acpi_count_gicr_regions() previous failing to find
> > > any GICR regions (as it is valid to have gicr_base_address of zero if
> > > the redistributors are described via a GICR entry).
> > > 
> > > Instead of complicating the check, remove it. Failures that happen
> > > at this point cause the irqchip not to register, meaning no irqs
> > > can be requested. The kernel grinds to a panic() pretty quickly.
> > > 
> > > Without the check, MADT tables that exhibit this problem are still
> > > caught by gic_populate_rdist(), which helpfully also prints what
> > > went wrong:
> > > | CPU4: mpidr 100 has no re-distributor!
> > > 
> > > Signed-off-by: James Morse <james.morse@arm.com>
> > > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > > Tested-by: Miguel Luis <miguel.luis@oracle.com>
> > > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> > > Tested-by: Jianyong Wu <jianyong.wu@arm.com>
> > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> > > ---
> > >  drivers/irqchip/irq-gic-v3.c | 18 ++++++------------
> > >  1 file changed, 6 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > > index 98b0329b7154..ebecd4546830 100644
> > > --- a/drivers/irqchip/irq-gic-v3.c
> > > +++ b/drivers/irqchip/irq-gic-v3.c
> > > @@ -2420,21 +2420,15 @@ static int __init gic_acpi_match_gicc(union acpi_subtable_headers *header,
> > >  
> > >  	/*
> > >  	 * If GICC is enabled and has valid gicr base address, then it means
> > > -	 * GICR base is presented via GICC
> > > +	 * GICR base is presented via GICC. The redistributor is only known to
> > > +	 * be accessible if the GICC is marked as enabled. If this bit is not
> > > +	 * set, we'd need to add the redistributor at runtime, which isn't
> > > +	 * supported.
> > >  	 */
> > > -	if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> > > +	if (gicc->flags & ACPI_MADT_ENABLED && gicc->gicr_base_address)  
> > 
> > I was very vague in previous review.  I think the reasons you are switching
> > from acpi_gicc_is_useable(gicc) to the gicc->flags & ACPI_MADT_ENABLED
> > needs calling out as I'm fairly sure that this point in the series at least
> > acpi_gicc_is_usable is same as current upstream:
> > 
> > static inline bool acpi_gicc_is_usable(struct acpi_madt_generic_interrupt *gicc)
> > {
> > 	return gicc->flags & ACPI_MADT_ENABLED;
> > }  
> 
> In a previous patch adding acpi_gicc_is_usable() c54e52f84d7a ("arm64,
> irqchip/gic-v3, ACPI: Move MADT GICC enabled check into a helper") this
> was:
> 
> -       if ((gicc->flags & ACPI_MADT_ENABLED) && gicc->gicr_base_address) {
> +       if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> 
> so effectively this is undoing that particular change, which raises in
> my mind why the change was made in the first place if it's just going
> to be reverted in a later patch (because in a following patch,
> acpi_gicc_is_usable() has an additional condition added to it that
> isn't applicable here.) which effectively makes acpi_gicc_is_usable()
> return true if either ACPI_MADT_ENABLED _or_
> ACPI_MADT_GICC_ONLINE_CAPABLE (as it is now known) are set.

Ok. So maybe just calling out that we are about to change the meaning
of acpi_gicc_is_usable() so need to partly revert that earlier patch
to make use of it everywhere.

Or perhaps introduce
acpi_gicc_is_enabled() which is called by acpi_gicc_is_usable()
along with the new conditions when they are added though as you
say later, what does usable mean?

> 
> However, if ACPI_MADT_GICC_ONLINE_CAPABLE is set, does that actually
> mean that the GICC is usable? I'm not sure it does. ACPI v6.5 says that
> this bit indicates that the system supports enabling this processor
> later. Is the GICC of a currently disabled processor "usable"...

I agree, this is confusing.

acpi_gicc_may_be_usable()?

Or invert it in all places to give a cleaner meaning
!acpi_gicc_never_usable()

Bit of a pain to change this throughout again, but maybe necessary
to avoid confusion in future.

> 
> Clearly, the intention of this change is not to count this GICC entry
> if it is marked ACPI_MADT_GICC_ONLINE_CAPABLE, but I feel that isn't
> described in the commit message.

Agreed, though that only happens in the next patch so easier to describe
there or via a patch adding initially identical multiple helper functions
that then diverge in following patch?

Whilst a helper for this one location seems silly it would let us put
the two helpers next to each other where the distinction is obvious.

> 
> Moreover, I am getting the feeling that there are _two_ changes going
> on here - there's the change that's talked about in the commit message
> (the complex validation that seems unnecessary) and then there's the
> preparation for the change to acpi_gicc_is_usable() - which maybe
> should be in the following patch where it would be less confusing.

Agreed.

> 
> Would you agree?
> 
Yes, the move would help as then it's obvious why this needs to change
and that is separate from the naming question.

So in conclusion, I agree with everything you've called out on this one,
up to you to pick which solution cleans this up. I think options are.
1) Just move the change to the next patch where it's easier to describe.
   Leaves the odd 'usable' behind.
2) Rename the useable() to something else, maybe inverting logic as
   !never is easier than now_or_maybe_later.
3) Possibly add another helper for this new case which starts as matching
   the existing one, but diverges in a later patch (Should still not be
   in this patch which as you observer is doing something else and I think
   is actually a bug fix anyway, be it one that has never mattered for
   any shipping firmware).

Jonathan



WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
	<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
	<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
	<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	<jianyong.wu@arm.com>, <justin.he@arm.com>,
	James Morse <james.morse@arm.com>
Subject: Re: [PATCH RFC v3 14/21] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc()
Date: Tue, 23 Jan 2024 10:08:21 +0000	[thread overview]
Message-ID: <20240123100821.00000064@Huawei.com> (raw)
In-Reply-To: <ZZ2eGLwlkqZrh0In@shell.armlinux.org.uk>

On Tue, 9 Jan 2024 19:27:20 +0000
"Russell King (Oracle)" <linux@armlinux.org.uk> wrote:

> On Fri, Dec 15, 2023 at 04:33:01PM +0000, Jonathan Cameron wrote:
> > On Wed, 13 Dec 2023 12:50:23 +0000
> > Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> >   
> > > From: James Morse <james.morse@arm.com>
> > > 
> > > gic_acpi_match_gicc() is only called via gic_acpi_count_gicr_regions().
> > > It should only count the number of enabled redistributors, but it
> > > also tries to sanity check the GICC entry, currently returning an
> > > error if the Enabled bit is set, but the gicr_base_address is zero.
> > > 
> > > Adding support for the online-capable bit to the sanity check
> > > complicates it, for no benefit. The existing check implicitly
> > > depends on gic_acpi_count_gicr_regions() previous failing to find
> > > any GICR regions (as it is valid to have gicr_base_address of zero if
> > > the redistributors are described via a GICR entry).
> > > 
> > > Instead of complicating the check, remove it. Failures that happen
> > > at this point cause the irqchip not to register, meaning no irqs
> > > can be requested. The kernel grinds to a panic() pretty quickly.
> > > 
> > > Without the check, MADT tables that exhibit this problem are still
> > > caught by gic_populate_rdist(), which helpfully also prints what
> > > went wrong:
> > > | CPU4: mpidr 100 has no re-distributor!
> > > 
> > > Signed-off-by: James Morse <james.morse@arm.com>
> > > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > > Tested-by: Miguel Luis <miguel.luis@oracle.com>
> > > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> > > Tested-by: Jianyong Wu <jianyong.wu@arm.com>
> > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> > > ---
> > >  drivers/irqchip/irq-gic-v3.c | 18 ++++++------------
> > >  1 file changed, 6 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > > index 98b0329b7154..ebecd4546830 100644
> > > --- a/drivers/irqchip/irq-gic-v3.c
> > > +++ b/drivers/irqchip/irq-gic-v3.c
> > > @@ -2420,21 +2420,15 @@ static int __init gic_acpi_match_gicc(union acpi_subtable_headers *header,
> > >  
> > >  	/*
> > >  	 * If GICC is enabled and has valid gicr base address, then it means
> > > -	 * GICR base is presented via GICC
> > > +	 * GICR base is presented via GICC. The redistributor is only known to
> > > +	 * be accessible if the GICC is marked as enabled. If this bit is not
> > > +	 * set, we'd need to add the redistributor at runtime, which isn't
> > > +	 * supported.
> > >  	 */
> > > -	if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> > > +	if (gicc->flags & ACPI_MADT_ENABLED && gicc->gicr_base_address)  
> > 
> > I was very vague in previous review.  I think the reasons you are switching
> > from acpi_gicc_is_useable(gicc) to the gicc->flags & ACPI_MADT_ENABLED
> > needs calling out as I'm fairly sure that this point in the series at least
> > acpi_gicc_is_usable is same as current upstream:
> > 
> > static inline bool acpi_gicc_is_usable(struct acpi_madt_generic_interrupt *gicc)
> > {
> > 	return gicc->flags & ACPI_MADT_ENABLED;
> > }  
> 
> In a previous patch adding acpi_gicc_is_usable() c54e52f84d7a ("arm64,
> irqchip/gic-v3, ACPI: Move MADT GICC enabled check into a helper") this
> was:
> 
> -       if ((gicc->flags & ACPI_MADT_ENABLED) && gicc->gicr_base_address) {
> +       if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> 
> so effectively this is undoing that particular change, which raises in
> my mind why the change was made in the first place if it's just going
> to be reverted in a later patch (because in a following patch,
> acpi_gicc_is_usable() has an additional condition added to it that
> isn't applicable here.) which effectively makes acpi_gicc_is_usable()
> return true if either ACPI_MADT_ENABLED _or_
> ACPI_MADT_GICC_ONLINE_CAPABLE (as it is now known) are set.

Ok. So maybe just calling out that we are about to change the meaning
of acpi_gicc_is_usable() so need to partly revert that earlier patch
to make use of it everywhere.

Or perhaps introduce
acpi_gicc_is_enabled() which is called by acpi_gicc_is_usable()
along with the new conditions when they are added though as you
say later, what does usable mean?

> 
> However, if ACPI_MADT_GICC_ONLINE_CAPABLE is set, does that actually
> mean that the GICC is usable? I'm not sure it does. ACPI v6.5 says that
> this bit indicates that the system supports enabling this processor
> later. Is the GICC of a currently disabled processor "usable"...

I agree, this is confusing.

acpi_gicc_may_be_usable()?

Or invert it in all places to give a cleaner meaning
!acpi_gicc_never_usable()

Bit of a pain to change this throughout again, but maybe necessary
to avoid confusion in future.

> 
> Clearly, the intention of this change is not to count this GICC entry
> if it is marked ACPI_MADT_GICC_ONLINE_CAPABLE, but I feel that isn't
> described in the commit message.

Agreed, though that only happens in the next patch so easier to describe
there or via a patch adding initially identical multiple helper functions
that then diverge in following patch?

Whilst a helper for this one location seems silly it would let us put
the two helpers next to each other where the distinction is obvious.

> 
> Moreover, I am getting the feeling that there are _two_ changes going
> on here - there's the change that's talked about in the commit message
> (the complex validation that seems unnecessary) and then there's the
> preparation for the change to acpi_gicc_is_usable() - which maybe
> should be in the following patch where it would be less confusing.

Agreed.

> 
> Would you agree?
> 
Yes, the move would help as then it's obvious why this needs to change
and that is separate from the naming question.

So in conclusion, I agree with everything you've called out on this one,
up to you to pick which solution cleans this up. I think options are.
1) Just move the change to the next patch where it's easier to describe.
   Leaves the odd 'usable' behind.
2) Rename the useable() to something else, maybe inverting logic as
   !never is easier than now_or_maybe_later.
3) Possibly add another helper for this new case which starts as matching
   the existing one, but diverges in a later patch (Should still not be
   in this patch which as you observer is doing something else and I think
   is actually a bug fix anyway, be it one that has never mattered for
   any shipping firmware).

Jonathan



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

WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
	<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
	<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
	<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	<jianyong.wu@arm.com>, <justin.he@arm.com>,
	James Morse <james.morse@arm.com>
Subject: Re: [PATCH RFC v3 14/21] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc()
Date: Tue, 23 Jan 2024 10:08:21 +0000	[thread overview]
Message-ID: <20240123100821.00000064@Huawei.com> (raw)
In-Reply-To: <ZZ2eGLwlkqZrh0In@shell.armlinux.org.uk>

On Tue, 9 Jan 2024 19:27:20 +0000
"Russell King (Oracle)" <linux@armlinux.org.uk> wrote:

> On Fri, Dec 15, 2023 at 04:33:01PM +0000, Jonathan Cameron wrote:
> > On Wed, 13 Dec 2023 12:50:23 +0000
> > Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> >   
> > > From: James Morse <james.morse@arm.com>
> > > 
> > > gic_acpi_match_gicc() is only called via gic_acpi_count_gicr_regions().
> > > It should only count the number of enabled redistributors, but it
> > > also tries to sanity check the GICC entry, currently returning an
> > > error if the Enabled bit is set, but the gicr_base_address is zero.
> > > 
> > > Adding support for the online-capable bit to the sanity check
> > > complicates it, for no benefit. The existing check implicitly
> > > depends on gic_acpi_count_gicr_regions() previous failing to find
> > > any GICR regions (as it is valid to have gicr_base_address of zero if
> > > the redistributors are described via a GICR entry).
> > > 
> > > Instead of complicating the check, remove it. Failures that happen
> > > at this point cause the irqchip not to register, meaning no irqs
> > > can be requested. The kernel grinds to a panic() pretty quickly.
> > > 
> > > Without the check, MADT tables that exhibit this problem are still
> > > caught by gic_populate_rdist(), which helpfully also prints what
> > > went wrong:
> > > | CPU4: mpidr 100 has no re-distributor!
> > > 
> > > Signed-off-by: James Morse <james.morse@arm.com>
> > > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > > Tested-by: Miguel Luis <miguel.luis@oracle.com>
> > > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> > > Tested-by: Jianyong Wu <jianyong.wu@arm.com>
> > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> > > ---
> > >  drivers/irqchip/irq-gic-v3.c | 18 ++++++------------
> > >  1 file changed, 6 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > > index 98b0329b7154..ebecd4546830 100644
> > > --- a/drivers/irqchip/irq-gic-v3.c
> > > +++ b/drivers/irqchip/irq-gic-v3.c
> > > @@ -2420,21 +2420,15 @@ static int __init gic_acpi_match_gicc(union acpi_subtable_headers *header,
> > >  
> > >  	/*
> > >  	 * If GICC is enabled and has valid gicr base address, then it means
> > > -	 * GICR base is presented via GICC
> > > +	 * GICR base is presented via GICC. The redistributor is only known to
> > > +	 * be accessible if the GICC is marked as enabled. If this bit is not
> > > +	 * set, we'd need to add the redistributor at runtime, which isn't
> > > +	 * supported.
> > >  	 */
> > > -	if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> > > +	if (gicc->flags & ACPI_MADT_ENABLED && gicc->gicr_base_address)  
> > 
> > I was very vague in previous review.  I think the reasons you are switching
> > from acpi_gicc_is_useable(gicc) to the gicc->flags & ACPI_MADT_ENABLED
> > needs calling out as I'm fairly sure that this point in the series at least
> > acpi_gicc_is_usable is same as current upstream:
> > 
> > static inline bool acpi_gicc_is_usable(struct acpi_madt_generic_interrupt *gicc)
> > {
> > 	return gicc->flags & ACPI_MADT_ENABLED;
> > }  
> 
> In a previous patch adding acpi_gicc_is_usable() c54e52f84d7a ("arm64,
> irqchip/gic-v3, ACPI: Move MADT GICC enabled check into a helper") this
> was:
> 
> -       if ((gicc->flags & ACPI_MADT_ENABLED) && gicc->gicr_base_address) {
> +       if (acpi_gicc_is_usable(gicc) && gicc->gicr_base_address) {
> 
> so effectively this is undoing that particular change, which raises in
> my mind why the change was made in the first place if it's just going
> to be reverted in a later patch (because in a following patch,
> acpi_gicc_is_usable() has an additional condition added to it that
> isn't applicable here.) which effectively makes acpi_gicc_is_usable()
> return true if either ACPI_MADT_ENABLED _or_
> ACPI_MADT_GICC_ONLINE_CAPABLE (as it is now known) are set.

Ok. So maybe just calling out that we are about to change the meaning
of acpi_gicc_is_usable() so need to partly revert that earlier patch
to make use of it everywhere.

Or perhaps introduce
acpi_gicc_is_enabled() which is called by acpi_gicc_is_usable()
along with the new conditions when they are added though as you
say later, what does usable mean?

> 
> However, if ACPI_MADT_GICC_ONLINE_CAPABLE is set, does that actually
> mean that the GICC is usable? I'm not sure it does. ACPI v6.5 says that
> this bit indicates that the system supports enabling this processor
> later. Is the GICC of a currently disabled processor "usable"...

I agree, this is confusing.

acpi_gicc_may_be_usable()?

Or invert it in all places to give a cleaner meaning
!acpi_gicc_never_usable()

Bit of a pain to change this throughout again, but maybe necessary
to avoid confusion in future.

> 
> Clearly, the intention of this change is not to count this GICC entry
> if it is marked ACPI_MADT_GICC_ONLINE_CAPABLE, but I feel that isn't
> described in the commit message.

Agreed, though that only happens in the next patch so easier to describe
there or via a patch adding initially identical multiple helper functions
that then diverge in following patch?

Whilst a helper for this one location seems silly it would let us put
the two helpers next to each other where the distinction is obvious.

> 
> Moreover, I am getting the feeling that there are _two_ changes going
> on here - there's the change that's talked about in the commit message
> (the complex validation that seems unnecessary) and then there's the
> preparation for the change to acpi_gicc_is_usable() - which maybe
> should be in the following patch where it would be less confusing.

Agreed.

> 
> Would you agree?
> 
Yes, the move would help as then it's obvious why this needs to change
and that is separate from the naming question.

So in conclusion, I agree with everything you've called out on this one,
up to you to pick which solution cleans this up. I think options are.
1) Just move the change to the next patch where it's easier to describe.
   Leaves the odd 'usable' behind.
2) Rename the useable() to something else, maybe inverting logic as
   !never is easier than now_or_maybe_later.
3) Possibly add another helper for this new case which starts as matching
   the existing one, but diverges in a later patch (Should still not be
   in this patch which as you observer is doing something else and I think
   is actually a bug fix anyway, be it one that has never mattered for
   any shipping firmware).

Jonathan



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

  reply	other threads:[~2024-01-23 10:08 UTC|newest]

Thread overview: 363+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-13 12:47 [RFC PATCH v3 00/21] ACPI/arm64: add support for virtual cpu hotplug Russell King (Oracle)
2023-12-13 12:47 ` Russell King (Oracle)
2023-12-13 12:47 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 01/21] ACPI: Only enumerate enabled (or functional) devices Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-14 17:32   ` Jonathan Cameron
2023-12-14 17:32     ` Jonathan Cameron
2023-12-14 17:32     ` Jonathan Cameron
2023-12-14 17:47     ` Rafael J. Wysocki
2023-12-14 17:47       ` Rafael J. Wysocki
2023-12-14 17:47       ` Rafael J. Wysocki
2023-12-14 18:10       ` Russell King (Oracle)
2023-12-14 18:10         ` Russell King (Oracle)
2023-12-14 18:10         ` Russell King (Oracle)
2023-12-14 18:16         ` Rafael J. Wysocki
2023-12-14 18:16           ` Rafael J. Wysocki
2023-12-14 18:16           ` Rafael J. Wysocki
2023-12-14 18:37           ` Rafael J. Wysocki
2023-12-14 18:37             ` Rafael J. Wysocki
2023-12-14 18:37             ` Rafael J. Wysocki
2023-12-15 15:31             ` Russell King (Oracle)
2023-12-15 15:31               ` Russell King (Oracle)
2023-12-15 15:31               ` Russell King (Oracle)
2023-12-15 16:15               ` Jonathan Cameron
2023-12-15 16:15                 ` Jonathan Cameron
2023-12-15 16:15                 ` Jonathan Cameron
2023-12-15 19:47                 ` Rafael J. Wysocki
2023-12-15 19:47                   ` Rafael J. Wysocki
2023-12-15 19:47                   ` Rafael J. Wysocki
2024-01-02 14:39                   ` Jonathan Cameron
2024-01-02 14:39                     ` Jonathan Cameron
2024-01-02 14:39                     ` Jonathan Cameron
2024-01-11 10:19                     ` Jonathan Cameron
2024-01-11 10:19                       ` Jonathan Cameron
2024-01-11 10:19                       ` Jonathan Cameron
2024-01-11 10:26                       ` Russell King (Oracle)
2024-01-11 10:26                         ` Russell King (Oracle)
2024-01-11 10:26                         ` Russell King (Oracle)
2024-01-12 11:52                         ` Jonathan Cameron
2024-01-12 11:52                           ` Jonathan Cameron
2024-01-12 11:52                           ` Jonathan Cameron
2024-01-29 14:55                           ` Russell King (Oracle)
2024-01-29 14:55                             ` Russell King (Oracle)
2024-01-29 14:55                             ` Russell King (Oracle)
2024-01-29 15:05                             ` Rafael J. Wysocki
2024-01-29 15:05                               ` Rafael J. Wysocki
2024-01-29 15:05                               ` Rafael J. Wysocki
2024-01-29 15:16                               ` Russell King (Oracle)
2024-01-29 15:16                                 ` Russell King (Oracle)
2024-01-29 15:16                                 ` Russell King (Oracle)
2024-01-29 15:34                                 ` Rafael J. Wysocki
2024-01-29 15:34                                   ` Rafael J. Wysocki
2024-01-29 15:34                                   ` Rafael J. Wysocki
2024-01-22  7:31                         ` Gavin Shan
2024-01-22  7:31                           ` Gavin Shan
2024-01-22  7:31                           ` Gavin Shan
2023-12-14 17:55     ` Russell King (Oracle)
2023-12-14 17:55       ` Russell King (Oracle)
2023-12-14 17:55       ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 02/21] ACPI: processor: Add support for processors described as container packages Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-14 17:36   ` Jonathan Cameron
2023-12-14 17:36     ` Jonathan Cameron
2023-12-14 17:36     ` Jonathan Cameron
2023-12-14 17:57     ` Russell King (Oracle)
2023-12-14 17:57       ` Russell King (Oracle)
2023-12-14 17:57       ` Russell King (Oracle)
2023-12-18 20:17   ` Rafael J. Wysocki
2023-12-18 20:17     ` Rafael J. Wysocki
2023-12-18 20:17     ` Rafael J. Wysocki
2024-01-09 15:49     ` Russell King (Oracle)
2024-01-09 15:49       ` Russell King (Oracle)
2024-01-09 15:49       ` Russell King (Oracle)
2024-01-09 16:05       ` Rafael J. Wysocki
2024-01-09 16:05         ` Rafael J. Wysocki
2024-01-09 16:05         ` Rafael J. Wysocki
2024-01-09 16:13         ` Russell King (Oracle)
2024-01-09 16:13           ` Russell King (Oracle)
2024-01-09 16:13           ` Russell King (Oracle)
2024-01-11 16:17           ` Jonathan Cameron
2024-01-11 16:17             ` Jonathan Cameron
2024-01-11 16:17             ` Jonathan Cameron
2024-01-11 17:59     ` Jonathan Cameron
2024-01-11 17:59       ` Jonathan Cameron
2024-01-11 17:59       ` Jonathan Cameron
2024-01-11 18:46       ` Russell King (Oracle)
2024-01-11 18:46         ` Russell King (Oracle)
2024-01-11 18:46         ` Russell King (Oracle)
2024-01-12  9:25         ` Jonathan Cameron
2024-01-12  9:25           ` Jonathan Cameron
2024-01-12  9:25           ` Jonathan Cameron
2024-01-12 15:01           ` Rafael J. Wysocki
2024-01-12 15:01             ` Rafael J. Wysocki
2024-01-12 15:01             ` Rafael J. Wysocki
2024-01-12 15:03             ` Jonathan Cameron
2024-01-12 15:03               ` Jonathan Cameron
2024-01-12 15:03               ` Jonathan Cameron
2024-01-15 10:47             ` Russell King (Oracle)
2024-01-15 10:47               ` Russell King (Oracle)
2024-01-15 10:47               ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 03/21] ACPI: processor: Register CPUs that are online, but not described in the DSDT Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-18 20:22   ` Rafael J. Wysocki
2023-12-18 20:22     ` Rafael J. Wysocki
2023-12-18 20:22     ` Rafael J. Wysocki
2024-01-15 11:06     ` Russell King (Oracle)
2024-01-15 11:06       ` Russell King (Oracle)
2024-01-15 11:06       ` Russell King (Oracle)
2024-01-22 16:02       ` Jonathan Cameron
2024-01-22 16:02         ` Jonathan Cameron
2024-01-22 16:02         ` Jonathan Cameron
2024-01-22 16:22         ` Rafael J. Wysocki
2024-01-22 16:22           ` Rafael J. Wysocki
2024-01-22 16:22           ` Rafael J. Wysocki
2024-01-22 17:30           ` Russell King (Oracle)
2024-01-22 17:30             ` Russell King (Oracle)
2024-01-22 17:30             ` Russell King (Oracle)
2024-01-23  9:27             ` Jonathan Cameron
2024-01-23  9:27               ` Jonathan Cameron
2024-01-23  9:27               ` Jonathan Cameron
2024-01-25 13:56               ` Miguel Luis
2024-01-25 13:56                 ` Miguel Luis
2024-01-25 13:56                 ` Miguel Luis
2024-01-25 14:42                 ` Rafael J. Wysocki
2024-01-25 14:42                   ` Rafael J. Wysocki
2024-01-25 14:42                   ` Rafael J. Wysocki
2024-01-29 13:03               ` Jonathan Cameron
2024-01-29 13:03                 ` Jonathan Cameron
2024-01-29 13:03                 ` Jonathan Cameron
2024-01-29 15:32                 ` Russell King (Oracle)
2024-01-29 15:32                   ` Russell King (Oracle)
2024-01-29 15:32                   ` Russell King (Oracle)
2024-01-22 17:27         ` Russell King (Oracle)
2024-01-22 17:27           ` Russell King (Oracle)
2024-01-22 17:27           ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 04/21] ACPI: processor: Register all CPUs from acpi_processor_get_info() Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-14 17:38   ` Jonathan Cameron
2023-12-14 17:38     ` Jonathan Cameron
2023-12-14 17:38     ` Jonathan Cameron
2023-12-18 20:30   ` Rafael J. Wysocki
2023-12-18 20:30     ` Rafael J. Wysocki
2023-12-18 20:30     ` Rafael J. Wysocki
2024-01-22 17:44     ` Jonathan Cameron
2024-01-22 17:44       ` Jonathan Cameron
2024-01-22 17:44       ` Jonathan Cameron
2024-01-22 18:03       ` Rafael J. Wysocki
2024-01-22 18:03         ` Rafael J. Wysocki
2024-01-22 18:03         ` Rafael J. Wysocki
2024-01-22 21:56     ` Russell King (Oracle)
2024-01-22 21:56       ` Russell King (Oracle)
2024-01-22 21:56       ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 05/21] ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-14 17:41   ` Jonathan Cameron
2023-12-14 17:41     ` Jonathan Cameron
2023-12-14 17:41     ` Jonathan Cameron
2023-12-14 18:00     ` Russell King (Oracle)
2023-12-14 18:00       ` Russell King (Oracle)
2023-12-14 18:00       ` Russell King (Oracle)
2023-12-18 20:35   ` Rafael J. Wysocki
2023-12-18 20:35     ` Rafael J. Wysocki
2023-12-18 20:35     ` Rafael J. Wysocki
2024-01-22 18:00     ` Jonathan Cameron
2024-01-22 18:00       ` Jonathan Cameron
2024-01-22 18:00       ` Jonathan Cameron
2024-01-23 13:28       ` Russell King (Oracle)
2024-01-23 13:28         ` Russell King (Oracle)
2024-01-23 13:28         ` Russell King (Oracle)
2024-01-23 16:15         ` Rafael J. Wysocki
2024-01-23 16:15           ` Rafael J. Wysocki
2024-01-23 16:15           ` Rafael J. Wysocki
2024-01-23 16:36           ` Russell King (Oracle)
2024-01-23 16:36             ` Russell King (Oracle)
2024-01-23 16:36             ` Russell King (Oracle)
2024-01-23 17:43             ` Rafael J. Wysocki
2024-01-23 17:43               ` Rafael J. Wysocki
2024-01-23 17:43               ` Rafael J. Wysocki
2024-01-23 18:19               ` Russell King (Oracle)
2024-01-23 18:19                 ` Russell King (Oracle)
2024-01-23 18:19                 ` Russell King (Oracle)
2024-01-23 18:26                 ` Rafael J. Wysocki
2024-01-23 18:26                   ` Rafael J. Wysocki
2024-01-23 18:26                   ` Rafael J. Wysocki
2024-01-23 18:59                   ` Russell King (Oracle)
2024-01-23 18:59                     ` Russell King (Oracle)
2024-01-23 18:59                     ` Russell King (Oracle)
2024-01-23 19:27                     ` Rafael J. Wysocki
2024-01-23 19:27                       ` Rafael J. Wysocki
2024-01-23 19:27                       ` Rafael J. Wysocki
2024-01-23 20:09                       ` Russell King (Oracle)
2024-01-23 20:09                         ` Russell King (Oracle)
2024-01-23 20:09                         ` Russell King (Oracle)
2024-01-23 20:17                         ` Rafael J. Wysocki
2024-01-23 20:17                           ` Rafael J. Wysocki
2024-01-23 20:17                           ` Rafael J. Wysocki
2024-01-23 20:57                           ` Russell King (Oracle)
2024-01-23 20:57                             ` Russell King (Oracle)
2024-01-23 20:57                             ` Russell King (Oracle)
2024-01-23 21:12                             ` Russell King (Oracle)
2024-01-23 21:12                               ` Russell King (Oracle)
2024-01-23 21:12                               ` Russell King (Oracle)
2024-01-23 22:05                               ` Rafael J. Wysocki
2024-01-23 22:05                                 ` Rafael J. Wysocki
2024-01-23 22:05                                 ` Rafael J. Wysocki
2024-01-24  8:45                                 ` Russell King (Oracle)
2024-01-24  8:45                                   ` Russell King (Oracle)
2024-01-24  8:45                                   ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 06/21] ACPI: Move acpi_bus_trim_one() before acpi_scan_hot_remove() Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49 ` [PATCH RFC v3 07/21] ACPI: Rename acpi_processor_hotadd_init and remove pre-processor guards Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-14 17:43   ` Jonathan Cameron
2023-12-14 17:43     ` Jonathan Cameron
2023-12-14 17:43     ` Jonathan Cameron
2023-12-14 18:03     ` Russell King (Oracle)
2023-12-14 18:03       ` Russell King (Oracle)
2023-12-14 18:03       ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 08/21] ACPI: Add post_eject to struct acpi_scan_handler for cpu hotplug Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49   ` Russell King
2023-12-13 12:49 ` [PATCH RFC v3 09/21] ACPI: convert acpi_processor_post_eject() to use IS_ENABLED() Russell King (Oracle)
2023-12-13 12:49   ` Russell King (Oracle)
2023-12-13 12:49   ` Russell King (Oracle)
2023-12-15 16:11   ` Jonathan Cameron
2023-12-15 16:11     ` Jonathan Cameron
2023-12-15 16:11     ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 10/21] ACPI: Check _STA present bit before making CPUs not present Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:18   ` Jonathan Cameron
2023-12-15 16:18     ` Jonathan Cameron
2023-12-15 16:18     ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 11/21] ACPI: Warn when the present bit changes but the feature is not enabled Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50 ` [PATCH RFC v3 12/21] arm64: acpi: Move get_cpu_for_acpi_id() to a header Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50 ` [PATCH RFC v3 13/21] ACPICA: Add new MADT GICC flags fields Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:23   ` Jonathan Cameron
2023-12-15 16:23     ` Jonathan Cameron
2023-12-15 16:23     ` Jonathan Cameron
2023-12-15 16:53     ` Russell King (Oracle)
2023-12-15 16:53       ` Russell King (Oracle)
2023-12-15 16:53       ` Russell King (Oracle)
2023-12-18  9:23       ` Lorenzo Pieralisi
2023-12-18  9:23         ` Lorenzo Pieralisi
2023-12-18  9:23         ` Lorenzo Pieralisi
2023-12-18 13:14         ` Rafael J. Wysocki
2023-12-18 13:14           ` Rafael J. Wysocki
2023-12-18 13:14           ` Rafael J. Wysocki
2023-12-18 16:28           ` Lorenzo Pieralisi
2023-12-18 16:28             ` Lorenzo Pieralisi
2023-12-18 16:28             ` Lorenzo Pieralisi
2023-12-27 11:15           ` Lorenzo Pieralisi
2023-12-27 11:15             ` Lorenzo Pieralisi
2023-12-27 11:15             ` Lorenzo Pieralisi
2023-12-13 12:50 ` [PATCH RFC v3 14/21] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc() Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:33   ` Jonathan Cameron
2023-12-15 16:33     ` Jonathan Cameron
2023-12-15 16:33     ` Jonathan Cameron
2024-01-09 19:27     ` Russell King (Oracle)
2024-01-09 19:27       ` Russell King (Oracle)
2024-01-09 19:27       ` Russell King (Oracle)
2024-01-23 10:08       ` Jonathan Cameron [this message]
2024-01-23 10:08         ` Jonathan Cameron
2024-01-23 10:08         ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 15/21] irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:38   ` Jonathan Cameron
2023-12-15 16:38     ` Jonathan Cameron
2023-12-15 16:38     ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 16/21] arm64: psci: Ignore DENIED CPUs Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:40   ` Jonathan Cameron
2023-12-15 16:40     ` Jonathan Cameron
2023-12-15 16:40     ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 17/21] ACPI: add support to register CPUs based on the _STA enabled bit Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-18 13:03   ` Russell King (Oracle)
2023-12-18 13:03     ` Russell King (Oracle)
2023-12-18 13:03     ` Russell King (Oracle)
2024-01-02 14:53     ` Jonathan Cameron
2024-01-02 14:53       ` Jonathan Cameron
2024-01-02 14:53       ` Jonathan Cameron
2024-01-23 10:26       ` Jonathan Cameron
2024-01-23 10:26         ` Jonathan Cameron
2024-01-23 10:26         ` Jonathan Cameron
2024-01-23 13:10         ` Russell King (Oracle)
2024-01-23 13:10           ` Russell King (Oracle)
2024-01-23 13:10           ` Russell King (Oracle)
2024-01-23 14:22           ` Jonathan Cameron
2024-01-23 14:22             ` Jonathan Cameron
2024-01-23 14:22             ` Jonathan Cameron
2024-01-23 14:59             ` Russell King (Oracle)
2024-01-23 14:59               ` Russell King (Oracle)
2024-01-23 14:59               ` Russell King (Oracle)
2023-12-13 12:50 ` [PATCH RFC v3 18/21] ACPI: processor: Only call arch_unregister_cpu() if HOTPLUG_CPU is selected Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 16:50   ` Jonathan Cameron
2023-12-15 16:50     ` Jonathan Cameron
2023-12-15 16:50     ` Jonathan Cameron
2023-12-18 12:58     ` Russell King (Oracle)
2023-12-18 12:58       ` Russell King (Oracle)
2023-12-18 12:58       ` Russell King (Oracle)
2024-01-23 10:29       ` Jonathan Cameron
2024-01-23 10:29         ` Jonathan Cameron
2024-01-23 10:29         ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 19/21] arm64: document virtual CPU hotplug's expectations Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 17:04   ` Jonathan Cameron
2023-12-15 17:04     ` Jonathan Cameron
2023-12-15 17:04     ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 20/21] ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 17:12   ` Jonathan Cameron
2023-12-15 17:12     ` Jonathan Cameron
2023-12-15 17:12     ` Jonathan Cameron
2024-01-02 13:07     ` Jose Marinho
2024-01-02 13:07       ` Jose Marinho
2024-01-02 13:07       ` Jose Marinho
2024-01-02 15:16       ` Jonathan Cameron
2024-01-02 15:16         ` Jonathan Cameron
2024-01-02 15:16         ` Jonathan Cameron
2024-01-02 15:35         ` Jose Marinho
2024-01-02 15:35           ` Jose Marinho
2024-01-02 15:35           ` Jose Marinho
2024-01-23 10:51           ` Jonathan Cameron
2024-01-23 10:51             ` Jonathan Cameron
2024-01-23 10:51             ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 21/21] cpumask: Add enabled cpumask for present CPUs that can be brought online Russell King
2023-12-13 12:50   ` Russell King
2023-12-13 12:50   ` Russell King
2023-12-15 17:18   ` Jonathan Cameron
2023-12-15 17:18     ` Jonathan Cameron
2023-12-15 17:18     ` Jonathan Cameron
2023-12-18 12:14     ` Russell King (Oracle)
2023-12-18 12:14       ` Russell King (Oracle)
2023-12-18 12:14       ` Russell King (Oracle)
2024-01-02 15:19       ` Jonathan Cameron
2024-01-02 15:19         ` Jonathan Cameron
2024-01-02 15:19         ` Jonathan Cameron
2023-12-15 19:40   ` Thomas Gleixner
2023-12-15 19:40     ` Thomas Gleixner
2023-12-15 19:40     ` Thomas Gleixner

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=20240123100821.00000064@Huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=acpica-devel@lists.linuxfoundation.org \
    --cc=james.morse@arm.com \
    --cc=jean-philippe@linaro.org \
    --cc=jianyong.wu@arm.com \
    --cc=justin.he@arm.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=loongarch@lists.linux.dev \
    --cc=salil.mehta@huawei.com \
    --cc=x86@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.