x86, UV, BAU: Extend for more than 16 cpus per socket
authorCliff Wickman <cpw@sgi.com>
Mon, 3 Jan 2011 18:03:53 +0000 (12:03 -0600)
committerIngo Molnar <mingo@elte.hu>
Mon, 3 Jan 2011 19:35:03 +0000 (20:35 +0100)
commitcfa60917f0ba6eca83f41aef3cb4a7dd7736ac9f
treedb3c1da32119ba8bfec34f8c58781ca1b5d38424
parentd8850ba425d9823d3184bd52f065899dac4689f9
x86, UV, BAU: Extend for more than 16 cpus per socket

Fix a hard-coded limit of a maximum of 16 cpu's per socket.

The UV Broadcast Assist Unit code initializes by scanning the
cpu topology of the system and assigning a master cpu for each
socket and UV hub. That scan had an assumption of a limit of 16
cpus per socket. With Westmere we are going over that limit.
The UV hub hardware will allow up to 32.

If the scan finds the system has gone over that limit it returns
an error and we print a warning and fall back to doing TLB
shootdowns without the BAU.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org> # .37.x
LKML-Reference: <E1PZol7-0000mM-77@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/uv/uv_bau.h
arch/x86/platform/uv/tlb_uv.c