x86, UV: BAU broadcast to the local hub
authorCliff Wickman <cpw@sgi.com>
Wed, 2 Jun 2010 21:22:02 +0000 (16:22 -0500)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jun 2010 19:13:48 +0000 (21:13 +0200)
commit450a007eebaf430426ea8f89bbc3f287949905b2
treebb44fa25f4855f82e84a788bbdb8cda5a05a7a4f
parent7fba1bcd4844a4a8619a03bf51cabc92aea365a8
x86, UV: BAU broadcast to the local hub

Make the Broadcast Assist Unit driver use the BAU for TLB
shootdowns of cpu's on the local uvhub.

It was previously thought that IPI might be faster to the cpu's
on the local hub.  But the IPI operation would have to follow
the completion of the BAU broadcast anyway.  So we broadcast to
the local uvhub in all cases except when the current cpu was the
only local cpu in the mask.

This simplifies uv_flush_send_and_wait() in that it returns
either all shootdowns complete, or none.

Adjust the statistics to account for shootdowns on the local
uvhub.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: gregkh@suse.de
LKML-Reference: <E1OJvNy-0004aq-G7@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