Re: [GIT PULL] x86/uv changes for v3.6

From: Ingo Molnar
Date: Sun Jul 22 2012 - 15:11:28 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, Jul 22, 2012 at 7:15 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > UV2 BAU productization fixes.
>
> These kinds of "explanations" are not helpful, Ingo. Nobody
> except the SGI people know what the hell those TLA's mean. So
> please don't use random TLA's to "explain" things.

Sorry!

The Broadcast Assist Unit is SGI's fancy out of line way on UV
hardware to do TLB flushes, instead of the normal APIC IPI
methods. The commits here fix / work around hangs in their
latest hardware iteration (UV2).

My understanding is that the main purpose of the out of line
signalling channel is to improve scalability: the UV APIC
hardware glue does not handle broadcasting to many CPUs very
well, and this matters most for TLB shootdowns.

[ I don't agree with all aspects of the current approach: in
hindsight it would have been better to link the BAU at the
IPI/APIC driver level instead of the TLB shootdown level,
where TLB flushes are really just one of the uses of broadcast
SMP messages. Doing that would improve scalability in some
other ways and it would also remove a few uglies from the TLB
path. It would also be nice to push more is_uv_system() tests
into proper x86_init or x86_platform callbacks. Cliff? ]

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/