Thread (7 messages) 7 messages, 4 authors, 2017-07-22

[PATCH] irqchip/gic-v3-its: Allow GIC ITS number more than MAX_NUMNODES

From: guohanjun@huawei.com (Hanjun Guo)
Date: 2017-07-22 03:53:05
Also in: linux-acpi, lkml

On 2017/7/21 19:42, Ganapatrao Kulkarni wrote:
Hi Hanjun,


On Fri, Jul 21, 2017 at 4:50 PM, Marc Zyngier [off-list ref] wrote:
quoted
On 21/07/17 11:06, Hanjun Guo wrote:
quoted
On 2017/7/21 17:51, Hanjun Guo wrote:
quoted
From: Hanjun Guo <redacted>

When running 4.13-rc1 on top of D05, I got the boot log:

[    0.000000] SRAT: PXM 0 -> ITS 0 -> Node 0
[    0.000000] SRAT: PXM 0 -> ITS 1 -> Node 0
[    0.000000] SRAT: PXM 0 -> ITS 2 -> Node 0
[    0.000000] SRAT: PXM 1 -> ITS 3 -> Node 1
[    0.000000] SRAT: ITS affinity exceeding max count[4]

This is wrong on D05 as we have 8 ITSes with 4 NUMA nodes.
Used static array to keep it simple.  we can have either dynamic array
or increase static array size (which is in init data) to a larger
number.
We may have to go for dynamic array to be more sane. You can refer my
v2 patch [1], which was doing dynamic allocation and avoids
2 calls to acpi parser as done in this patch.

[1] https://patchwork.kernel.org/patch/9798659/
Hmm, although scanning the SRAT twice is bad, it will keep the
code simple, and no need to alloc the memory every time when we
find a ITS affinity entry, you need to free that memory when
ITS probing is done.

I will post a patch later, please take a look if it's ok to you :)

Thanks
Hanjun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help