linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ACPI : Update platform device numa node based on _PXM method
@ 2017-03-21 14:54 Shanker Donthineni
  2017-03-28 21:43 ` Rafael J. Wysocki
  0 siblings, 1 reply; 6+ messages in thread
From: Shanker Donthineni @ 2017-03-21 14:54 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: linux-acpi, linux-kernel, Vikram Sethi, Shanker Donthineni

The optional _PXM method evaluates to an integer that identifies the
proximity domain of a device object. This patch implements support for
ACPI _PXM method and updates the platform device numa node id using
acpi_get_node(), which provides the PXM to NUMA mapping information.

Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
---
 drivers/acpi/acpi_platform.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index b4c1a6a..83d953e 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -119,11 +119,14 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
 	if (IS_ERR(pdev))
 		dev_err(&adev->dev, "platform device creation failed: %ld\n",
 			PTR_ERR(pdev));
-	else
+	else {
+		set_dev_node(&pdev->dev, acpi_get_node(adev->handle));
 		dev_dbg(&adev->dev, "created platform device %s\n",
 			dev_name(&pdev->dev));
+	}
 
 	kfree(resources);
+
 	return pdev;
 }
 EXPORT_SYMBOL_GPL(acpi_create_platform_device);
-- 
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ACPI : Update platform device numa node based on _PXM method
  2017-03-21 14:54 [PATCH] ACPI : Update platform device numa node based on _PXM method Shanker Donthineni
@ 2017-03-28 21:43 ` Rafael J. Wysocki
  2017-03-28 22:14   ` Shanker Donthineni
  0 siblings, 1 reply; 6+ messages in thread
From: Rafael J. Wysocki @ 2017-03-28 21:43 UTC (permalink / raw)
  To: Shanker Donthineni; +Cc: Len Brown, linux-acpi, linux-kernel, Vikram Sethi

On Tuesday, March 21, 2017 09:54:30 AM Shanker Donthineni wrote:
> The optional _PXM method evaluates to an integer that identifies the
> proximity domain of a device object. This patch implements support for
> ACPI _PXM method and updates the platform device numa node id using
> acpi_get_node(), which provides the PXM to NUMA mapping information.
> 
> Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>

What exactly is the motivation here?

> ---
>  drivers/acpi/acpi_platform.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
> index b4c1a6a..83d953e 100644
> --- a/drivers/acpi/acpi_platform.c
> +++ b/drivers/acpi/acpi_platform.c
> @@ -119,11 +119,14 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
>  	if (IS_ERR(pdev))
>  		dev_err(&adev->dev, "platform device creation failed: %ld\n",
>  			PTR_ERR(pdev));
> -	else
> +	else {
> +		set_dev_node(&pdev->dev, acpi_get_node(adev->handle));
>  		dev_dbg(&adev->dev, "created platform device %s\n",
>  			dev_name(&pdev->dev));
> +	}
>  
>  	kfree(resources);
> +
>  	return pdev;
>  }
>  EXPORT_SYMBOL_GPL(acpi_create_platform_device);
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ACPI : Update platform device numa node based on _PXM method
  2017-03-28 21:43 ` Rafael J. Wysocki
@ 2017-03-28 22:14   ` Shanker Donthineni
  2017-03-28 22:15     ` Rafael J. Wysocki
  0 siblings, 1 reply; 6+ messages in thread
From: Shanker Donthineni @ 2017-03-28 22:14 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Len Brown, linux-acpi, linux-kernel, Vikram Sethi

Hi Rafael,


On 03/28/2017 04:43 PM, Rafael J. Wysocki wrote:
> On Tuesday, March 21, 2017 09:54:30 AM Shanker Donthineni wrote:
>> The optional _PXM method evaluates to an integer that identifies the
>> proximity domain of a device object. This patch implements support for
>> ACPI _PXM method and updates the platform device numa node id using
>> acpi_get_node(), which provides the PXM to NUMA mapping information.
>>
>> Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
> What exactly is the motivation here?

We have a couple of platform devices some of them are attached to socket0 and others to a different socket. We would like to covert memory allocations in Qualcomm platform device drivers to a NUMA aware allocation to improve performance.


>> ---
>>  drivers/acpi/acpi_platform.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
>> index b4c1a6a..83d953e 100644
>> --- a/drivers/acpi/acpi_platform.c
>> +++ b/drivers/acpi/acpi_platform.c
>> @@ -119,11 +119,14 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
>>  	if (IS_ERR(pdev))
>>  		dev_err(&adev->dev, "platform device creation failed: %ld\n",
>>  			PTR_ERR(pdev));
>> -	else
>> +	else {
>> +		set_dev_node(&pdev->dev, acpi_get_node(adev->handle));
>>  		dev_dbg(&adev->dev, "created platform device %s\n",
>>  			dev_name(&pdev->dev));
>> +	}
>>  
>>  	kfree(resources);
>> +
>>  	return pdev;
>>  }
>>  EXPORT_SYMBOL_GPL(acpi_create_platform_device);
>>

-- 
Shanker Donthineni
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ACPI : Update platform device numa node based on _PXM method
  2017-03-28 22:14   ` Shanker Donthineni
@ 2017-03-28 22:15     ` Rafael J. Wysocki
  2017-03-28 22:51       ` Shanker Donthineni
  0 siblings, 1 reply; 6+ messages in thread
From: Rafael J. Wysocki @ 2017-03-28 22:15 UTC (permalink / raw)
  To: shankerd; +Cc: Len Brown, linux-acpi, linux-kernel, Vikram Sethi

On Tuesday, March 28, 2017 05:14:13 PM Shanker Donthineni wrote:
> Hi Rafael,
> 
> 
> On 03/28/2017 04:43 PM, Rafael J. Wysocki wrote:
> > On Tuesday, March 21, 2017 09:54:30 AM Shanker Donthineni wrote:
> >> The optional _PXM method evaluates to an integer that identifies the
> >> proximity domain of a device object. This patch implements support for
> >> ACPI _PXM method and updates the platform device numa node id using
> >> acpi_get_node(), which provides the PXM to NUMA mapping information.
> >>
> >> Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
> > What exactly is the motivation here?
> 
> We have a couple of platform devices some of them are attached
> to socket0 and others to a different socket. We would like to covert
> memory allocations in Qualcomm platform device drivers to a NUMA
> aware allocation to improve performance.

All of the above information should be there in the patch changelog and
presumably the patch should be a part of a larger series so the way this
feature is going to be used is more clear.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ACPI : Update platform device numa node based on _PXM method
  2017-03-28 22:15     ` Rafael J. Wysocki
@ 2017-03-28 22:51       ` Shanker Donthineni
  2017-03-29 10:24         ` Rafael J. Wysocki
  0 siblings, 1 reply; 6+ messages in thread
From: Shanker Donthineni @ 2017-03-28 22:51 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Len Brown, linux-acpi, linux-kernel, Vikram Sethi

Hi Rafael,


On 03/28/2017 05:15 PM, Rafael J. Wysocki wrote:
> On Tuesday, March 28, 2017 05:14:13 PM Shanker Donthineni wrote:
>> Hi Rafael,
>>
>>
>> On 03/28/2017 04:43 PM, Rafael J. Wysocki wrote:
>>> On Tuesday, March 21, 2017 09:54:30 AM Shanker Donthineni wrote:
>>>> The optional _PXM method evaluates to an integer that identifies the
>>>> proximity domain of a device object. This patch implements support for
>>>> ACPI _PXM method and updates the platform device numa node id using
>>>> acpi_get_node(), which provides the PXM to NUMA mapping information.
>>>>
>>>> Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
>>> What exactly is the motivation here?
>> We have a couple of platform devices some of them are attached
>> to socket0 and others to a different socket. We would like to covert
>> memory allocations in Qualcomm platform device drivers to a NUMA
>> aware allocation to improve performance.
> All of the above information should be there in the patch changelog and
> presumably the patch should be a part of a larger series so the way this
> feature is going to be used is more clear.

Sorry, I didn't quite get what's larger series? I'm happy to include above information in commit/changelog text. We are trying to allocate memory using standard  function devm_kmalloc() but the function is always allocating memory from NUMA node 0. The inline function dev_to_node(dev) always returns -1 on our system even though we are setting PXM method in ACPI DSDT to non-zero value.

For device tree based kernel, the field 'dev->numa_node' is populated based on the DT property which is specified according to the below document. But in case of ACPI based kernel this NUMA field is always initialized to -1 for platform devices.

https://www.kernel.org/doc/Documentation/devicetree/bindings/numa.txt

Please guide me, should I send v2 patch with the suggested changelog text? otherwise I don't have any other patches to show our use case.

>
> Thanks,
> Rafael
>

-- 
Shanker Donthineni
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ACPI : Update platform device numa node based on _PXM method
  2017-03-28 22:51       ` Shanker Donthineni
@ 2017-03-29 10:24         ` Rafael J. Wysocki
  0 siblings, 0 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2017-03-29 10:24 UTC (permalink / raw)
  To: shankerd
  Cc: Rafael J. Wysocki, Len Brown, linux-acpi, linux-kernel, Vikram Sethi

On Wed, Mar 29, 2017 at 12:51 AM, Shanker Donthineni
<shankerd@codeaurora.org> wrote:
> Hi Rafael,
>
>
> On 03/28/2017 05:15 PM, Rafael J. Wysocki wrote:
>> On Tuesday, March 28, 2017 05:14:13 PM Shanker Donthineni wrote:
>>> Hi Rafael,
>>>
>>>
>>> On 03/28/2017 04:43 PM, Rafael J. Wysocki wrote:
>>>> On Tuesday, March 21, 2017 09:54:30 AM Shanker Donthineni wrote:
>>>>> The optional _PXM method evaluates to an integer that identifies the
>>>>> proximity domain of a device object. This patch implements support for
>>>>> ACPI _PXM method and updates the platform device numa node id using
>>>>> acpi_get_node(), which provides the PXM to NUMA mapping information.
>>>>>
>>>>> Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
>>>> What exactly is the motivation here?
>>> We have a couple of platform devices some of them are attached
>>> to socket0 and others to a different socket. We would like to covert
>>> memory allocations in Qualcomm platform device drivers to a NUMA
>>> aware allocation to improve performance.
>> All of the above information should be there in the patch changelog and
>> presumably the patch should be a part of a larger series so the way this
>> feature is going to be used is more clear.
>
> Sorry, I didn't quite get what's larger series? I'm happy to include above information in
> commit/changelog text. We are trying to allocate memory using standard  function
> devm_kmalloc() but the function is always allocating memory from NUMA node 0.
> The inline function dev_to_node(dev) always returns -1 on our system even though
> we are setting PXM method in ACPI DSDT to non-zero value.

OK

So please add the above to the patch changelog too.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-03-29 10:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-21 14:54 [PATCH] ACPI : Update platform device numa node based on _PXM method Shanker Donthineni
2017-03-28 21:43 ` Rafael J. Wysocki
2017-03-28 22:14   ` Shanker Donthineni
2017-03-28 22:15     ` Rafael J. Wysocki
2017-03-28 22:51       ` Shanker Donthineni
2017-03-29 10:24         ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).