mbox series

[v2,0/9] Fixes and Enablement of ibm,drc-info property

Message ID 1573449697-5448-1-git-send-email-tyreld@linux.ibm.com (mailing list archive)
Headers show
Series Fixes and Enablement of ibm,drc-info property | expand

Message

Tyrel Datwyler Nov. 11, 2019, 5:21 a.m. UTC
There was a previous effort to add support for the PAPR
architected ibm,drc-info property. This property provides a more
memory compact representation of a parition's Dynamic Reconfig
Connectors (DRC). These can otherwise be thought of as currently
partitioned, or available but yet to be partitioned system resources
such as cpus, memory, and physical/logical IOA devices.

The initial implementation proved buggy and was fully turned off by
disabling the bit in the appropriate CAS support vector. We now have
PowerVM firmware in the field that supports this new property, and
further to support partitions with 24TB+ of possible memory this
property is required to perform platform migration.

This series fixs the short comings of the previous submission
in the areas of general implementation, cpu hotplug, and IOA hotplug.

v2 changelog:
	Cover Letter: fixed up spelling errors (mpe, tfalcon)
	Patch 3: added comment regarding indexing of drc values (tfalcon)
		 split drc-index and drc-info logic into multiple
		 functions for collecting cpu drc's for dlpar (mpe)
	Patch 7: fix up a couple more sparse warnings (mpe)

Tyrel Datwyler (9):
  powerpc/pseries: Fix bad drc_index_start value parsing of drc-info
    entry
  powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index
  powerpc/pseries: Add cpu DLPAR support for drc-info property
  PCI: rpaphp: Fix up pointer to first drc-info entry
  PCI: rpaphp: Don't rely on firmware feature to imply drc-info support
  PCI: rpaphp: Add drc-info support for hotplug slot registration
  PCI: rpaphp: Annotate and correctly byte swap DRC properties
  PCI: rpaphp: Correctly match ibm,my-drc-index to drc-name when using
    drc-info
  powerpc/pseries: Enable support for ibm,drc-info property

 arch/powerpc/kernel/prom_init.c                 |   2 +-
 arch/powerpc/platforms/pseries/hotplug-cpu.c    | 127 +++++++++++++++++++++---
 arch/powerpc/platforms/pseries/of_helpers.c     |   8 +-
 arch/powerpc/platforms/pseries/pseries_energy.c |  23 ++---
 drivers/pci/hotplug/rpaphp_core.c               | 127 +++++++++++++++++-------
 5 files changed, 216 insertions(+), 71 deletions(-)

Comments

Bjorn Helgaas Nov. 11, 2019, 7:49 p.m. UTC | #1
On Sun, Nov 10, 2019 at 11:21:27PM -0600, Tyrel Datwyler wrote:
> There was a previous effort to add support for the PAPR
> architected ibm,drc-info property. This property provides a more
> memory compact representation of a parition's Dynamic Reconfig
> Connectors (DRC). These can otherwise be thought of as currently
> partitioned, or available but yet to be partitioned system resources
> such as cpus, memory, and physical/logical IOA devices.
> 
> The initial implementation proved buggy and was fully turned off by
> disabling the bit in the appropriate CAS support vector. We now have
> PowerVM firmware in the field that supports this new property, and
> further to support partitions with 24TB+ of possible memory this
> property is required to perform platform migration.
> 
> This series fixs the short comings of the previous submission
> in the areas of general implementation, cpu hotplug, and IOA hotplug.
> 
> v2 changelog:
> 	Cover Letter: fixed up spelling errors (mpe, tfalcon)
> 	Patch 3: added comment regarding indexing of drc values (tfalcon)
> 		 split drc-index and drc-info logic into multiple
> 		 functions for collecting cpu drc's for dlpar (mpe)
> 	Patch 7: fix up a couple more sparse warnings (mpe)
> 
> Tyrel Datwyler (9):
>   powerpc/pseries: Fix bad drc_index_start value parsing of drc-info
>     entry
>   powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index
>   powerpc/pseries: Add cpu DLPAR support for drc-info property
>   PCI: rpaphp: Fix up pointer to first drc-info entry
>   PCI: rpaphp: Don't rely on firmware feature to imply drc-info support
>   PCI: rpaphp: Add drc-info support for hotplug slot registration
>   PCI: rpaphp: Annotate and correctly byte swap DRC properties
>   PCI: rpaphp: Correctly match ibm,my-drc-index to drc-name when using
>     drc-info
>   powerpc/pseries: Enable support for ibm,drc-info property
> 
>  arch/powerpc/kernel/prom_init.c                 |   2 +-
>  arch/powerpc/platforms/pseries/hotplug-cpu.c    | 127 +++++++++++++++++++++---
>  arch/powerpc/platforms/pseries/of_helpers.c     |   8 +-
>  arch/powerpc/platforms/pseries/pseries_energy.c |  23 ++---
>  drivers/pci/hotplug/rpaphp_core.c               | 127 +++++++++++++++++-------

For the drivers/pci/* parts:

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

I assume they will be merged along with the rest of the series via
powerpc.

>  5 files changed, 216 insertions(+), 71 deletions(-)
> 
> -- 
> 2.7.4
>
Michael Ellerman Nov. 12, 2019, 10:50 a.m. UTC | #2
Bjorn Helgaas <helgaas@kernel.org> writes:
> On Sun, Nov 10, 2019 at 11:21:27PM -0600, Tyrel Datwyler wrote:
>> There was a previous effort to add support for the PAPR
>> architected ibm,drc-info property. This property provides a more
>> memory compact representation of a parition's Dynamic Reconfig
>> Connectors (DRC). These can otherwise be thought of as currently
>> partitioned, or available but yet to be partitioned system resources
>> such as cpus, memory, and physical/logical IOA devices.
>> 
>> The initial implementation proved buggy and was fully turned off by
>> disabling the bit in the appropriate CAS support vector. We now have
>> PowerVM firmware in the field that supports this new property, and
>> further to support partitions with 24TB+ of possible memory this
>> property is required to perform platform migration.
>> 
>> This series fixs the short comings of the previous submission
>> in the areas of general implementation, cpu hotplug, and IOA hotplug.
>> 
>> v2 changelog:
>> 	Cover Letter: fixed up spelling errors (mpe, tfalcon)
>> 	Patch 3: added comment regarding indexing of drc values (tfalcon)
>> 		 split drc-index and drc-info logic into multiple
>> 		 functions for collecting cpu drc's for dlpar (mpe)
>> 	Patch 7: fix up a couple more sparse warnings (mpe)
>> 
>> Tyrel Datwyler (9):
>>   powerpc/pseries: Fix bad drc_index_start value parsing of drc-info
>>     entry
>>   powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index
>>   powerpc/pseries: Add cpu DLPAR support for drc-info property
>>   PCI: rpaphp: Fix up pointer to first drc-info entry
>>   PCI: rpaphp: Don't rely on firmware feature to imply drc-info support
>>   PCI: rpaphp: Add drc-info support for hotplug slot registration
>>   PCI: rpaphp: Annotate and correctly byte swap DRC properties
>>   PCI: rpaphp: Correctly match ibm,my-drc-index to drc-name when using
>>     drc-info
>>   powerpc/pseries: Enable support for ibm,drc-info property
>> 
>>  arch/powerpc/kernel/prom_init.c                 |   2 +-
>>  arch/powerpc/platforms/pseries/hotplug-cpu.c    | 127 +++++++++++++++++++++---
>>  arch/powerpc/platforms/pseries/of_helpers.c     |   8 +-
>>  arch/powerpc/platforms/pseries/pseries_energy.c |  23 ++---
>>  drivers/pci/hotplug/rpaphp_core.c               | 127 +++++++++++++++++-------
>
> For the drivers/pci/* parts:
>
> Acked-by: Bjorn Helgaas <bhelgaas@google.com>

I added it to the PCI touching patches.

> I assume they will be merged along with the rest of the series via
> powerpc.

Yep. Thanks for the review.

cheers