Re: [RFC PATCH 0/4] add support for CommonLPIAff field

2018-03-12 Thread Marc Zyngier
On 12/03/18 12:13, Yang Yingliang wrote:
> 
> 
> On 2018/3/12 17:55, Marc Zyngier wrote:
>> On 12/03/18 06:49, Yang Yingliang wrote:
>>> This patch set adjust struct rdists to support CommonLPIAff field.
>>> This field is described in spec:
>>>
>>> CommonLPIAff, bits [25:24]
>>> The affinity level at which Redistributors share a LPI Configuration table.
>>> 00 All Redistributors must share a LPI Configuration table.
>>> 01 All Redistributors with the same Aff3 value must share an LPI 
>>> Configurationt table.
>>> 10 All Redistributors with the same Aff3.Aff2 value must share an LPI 
>>> Configuration table.
>>> 11 All Redistributors with the same Aff3.Aff2.Aff1 value must share an LPI 
>>> Configuration
>>> table.
>>
>> What are you trying to achieve here? We already share the same
>> configuration table across all the redistributors, irrelevant the of
>> CommonLPIAff. Why would we need to do anything else?
> 
> In some cases, such as "with the same Aff3.Aff2 value must share an LPI
> Configuration table", redistributors will access local memory node
> only, it may improve the performance. And I don't have any beneficial
> data now. I may provide it later.

These are two different things.
- "must share" is what the kernel does *today*. No changes are required.
- NUMA behaviour has nothing to do with CommonLPIAff, and cannot be
based on that field.

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...


Re: [RFC PATCH 0/4] add support for CommonLPIAff field

2018-03-12 Thread Yang Yingliang



On 2018/3/12 17:55, Marc Zyngier wrote:

On 12/03/18 06:49, Yang Yingliang wrote:

This patch set adjust struct rdists to support CommonLPIAff field.
This field is described in spec:

CommonLPIAff, bits [25:24]
The affinity level at which Redistributors share a LPI Configuration table.
00 All Redistributors must share a LPI Configuration table.
01 All Redistributors with the same Aff3 value must share an LPI Configurationt 
table.
10 All Redistributors with the same Aff3.Aff2 value must share an LPI 
Configuration table.
11 All Redistributors with the same Aff3.Aff2.Aff1 value must share an LPI 
Configuration
table.


What are you trying to achieve here? We already share the same
configuration table across all the redistributors, irrelevant the of
CommonLPIAff. Why would we need to do anything else?


In some cases, such as "with the same Aff3.Aff2 value must share an LPI
Configuration table", redistributors will access local memory node
only, it may improve the performance. And I don't have any beneficial
data now. I may provide it later.

Regards,
Yang


Thanks,

M.





Re: [RFC PATCH 0/4] add support for CommonLPIAff field

2018-03-12 Thread Marc Zyngier
On 12/03/18 06:49, Yang Yingliang wrote:
> This patch set adjust struct rdists to support CommonLPIAff field.
> This field is described in spec:
> 
> CommonLPIAff, bits [25:24]
> The affinity level at which Redistributors share a LPI Configuration table.
> 00 All Redistributors must share a LPI Configuration table.
> 01 All Redistributors with the same Aff3 value must share an LPI 
> Configurationt table.
> 10 All Redistributors
> 11 All Redistributors with the same Aff3.Aff2.Aff1 value must share an LPI 
> Configuration
> table.

What are you trying to achieve here? We already share the same
configuration table across all the redistributors, irrelevant the of
CommonLPIAff. Why would we need to do anything else?

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...


[RFC PATCH 0/4] add support for CommonLPIAff field

2018-03-11 Thread Yang Yingliang
This patch set adjust struct rdists to support CommonLPIAff field.
This field is described in spec:

CommonLPIAff, bits [25:24]
The affinity level at which Redistributors share a LPI Configuration table.
00 All Redistributors must share a LPI Configuration table.
01 All Redistributors with the same Aff3 value must share an LPI Configurationt 
table.
10 All Redistributors
11 All Redistributors with the same Aff3.Aff2.Aff1 value must share an LPI 
Configuration
table.

Yang Yingliang (4):
  irqchip/gic-v3: add common_aff_lpi field in struct rdists
  irqchip/gic-v3-its: replace alloc_pages() with alloc_pages_node()
  irqchip/gic-v3-its: change prop_page to per-cpu type to support
CommonLPIAff field
  irqchip/gic-v3-its: sync config of LPIs if there are more than one
prop_page

 drivers/irqchip/irq-gic-v3-its.c   | 125 +++--
 drivers/irqchip/irq-gic-v3.c   |  20 ++
 include/linux/irqchip/arm-gic-v3.h |   9 ++-
 3 files changed, 121 insertions(+), 33 deletions(-)

-- 
1.8.3