Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1611393 > unrolled thread

Re: [PATCH] ACPI : Update platform device numa node based on _PXM method

Started by"Rafael J. Wysocki" <rjw@rjwysocki.net>
First post2017-03-29 00:00 +0200
Last post2017-03-29 12:30 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] ACPI : Update platform device numa node based on _PXM method "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-29 00:00 +0200
    Re: [PATCH] ACPI : Update platform device numa node based on _PXM  method Shanker Donthineni <shankerd@codeaurora.org> - 2017-03-29 00:20 +0200
      Re: [PATCH] ACPI : Update platform device numa node based on _PXM method "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-29 00:30 +0200
        Re: [PATCH] ACPI : Update platform device numa node based on _PXM  method Shanker Donthineni <shankerd@codeaurora.org> - 2017-03-29 01:00 +0200
          Re: [PATCH] ACPI : Update platform device numa node based on _PXM method "Rafael J. Wysocki" <rafael@kernel.org> - 2017-03-29 12:30 +0200

#1611393 — Re: [PATCH] ACPI : Update platform device numa node based on _PXM method

From"Rafael J. Wysocki" <rjw@rjwysocki.net>
Date2017-03-29 00:00 +0200
SubjectRe: [PATCH] ACPI : Update platform device numa node based on _PXM method
Message-ID<tq7jI-5r1-9@gated-at.bofh.it>
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);
> 

[toc] | [next] | [standalone]


#1611410 — Re: [PATCH] ACPI : Update platform device numa node based on _PXM method

FromShanker Donthineni <shankerd@codeaurora.org>
Date2017-03-29 00:20 +0200
SubjectRe: [PATCH] ACPI : Update platform device numa node based on _PXM method
Message-ID<tq7D4-5Qj-17@gated-at.bofh.it>
In reply to#1611393
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.

[toc] | [prev] | [next] | [standalone]


#1611418

From"Rafael J. Wysocki" <rjw@rjwysocki.net>
Date2017-03-29 00:30 +0200
Message-ID<tq7MJ-5VB-11@gated-at.bofh.it>
In reply to#1611410
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

[toc] | [prev] | [next] | [standalone]


#1611425 — Re: [PATCH] ACPI : Update platform device numa node based on _PXM method

FromShanker Donthineni <shankerd@codeaurora.org>
Date2017-03-29 01:00 +0200
SubjectRe: [PATCH] ACPI : Update platform device numa node based on _PXM method
Message-ID<tq8fM-682-5@gated-at.bofh.it>
In reply to#1611418
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.

[toc] | [prev] | [next] | [standalone]


#1611790

From"Rafael J. Wysocki" <rafael@kernel.org>
Date2017-03-29 12:30 +0200
Message-ID<tqj1w-5wl-5@gated-at.bofh.it>
In reply to#1611425
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web