]> git.baikalelectronics.ru Git - kernel.git/commit
x86: Fix UV BAU activation descriptor init
authorCliff Wickman <cpw@sgi.com>
Wed, 20 May 2009 13:10:57 +0000 (08:10 -0500)
committerIngo Molnar <mingo@elte.hu>
Wed, 3 Jun 2009 11:07:31 +0000 (13:07 +0200)
commit9570d0ea4f4f70b21e7df5f214bb975c66b93ad3
treec8c8e88e34fb73178bb96259dbedc90472e4d285
parentd80b7b453de3bf10e5a37ea6092f7df979c89452
x86: Fix UV BAU activation descriptor init

The UV tlb shootdown code has a serious initialization error.

An array of structures [32*8] is initialized as if it were [32].
The array is indexed by (cpu number on the blade)*8, so the short
initialization works for up to 4 cpus on a blade.
But above that, we provide an invalid opcode to the hub's
broadcast assist unit.

This patch changes the allocation of the array to use its symbolic
dimensions for better clarity. And initializes all 32*8 entries.

Shortened 'UV_ACTIVATION_DESCRIPTOR_SIZE' to 'UV_ADP_SIZE' per Ingo's
recommendation.

Tested on the UV simulator.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org>
LKML-Reference: <E1M6lZR-0007kV-Aq@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/uv/uv_bau.h
arch/x86/kernel/tlb_uv.c