Re: Q: smp.c && barriers (Was: [PATCH 1/4] generic-smp: removesingle ipi fallback for smp_call_function_many())

From: Ingo Molnar
Date: Wed Feb 18 2009 - 12:06:00 EST



an off-list comment pointed out this piece of information as
well:

http://www.sandpile.org/ia32/coherent.htm

A WRMSR to one of the x2APIC MSRs (0000_0800h...0000_0BFFh) is
not guaranteed to be serializing.

So i suspect we should just enclose it in smp_mb() pairs to make
sure it's a full barrier in both directions?

Although since it's an explicitly async mechanism with no
ordering expectations whatsoever, just doing an smp_mb() before
it should be enough, to make sure the IPI can never arrive to
another CPU/core faster than the event-horizon/visibility of
preceding operations.

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/