Re: [PATCH] SN2 user-MMIO CPU migration

Jesse Barnes
2006-01-20T17:36:20Z

On Thursday, January 19, 2006 10:47 pm, Brent Casavant wrote:
> On Thu, 19 Jan 2006, Jesse Barnes wrote:
> > Maybe you could just turn the above into mmiowb() calls instead?
> > That would cover altix, origin, and ppc as well I think. On other
> > platforms it would be a complete no-op.
>
> As you obviously noted, the core of the code was lifted from mmiowb().
> But no, an mmiowb() as such isn't correct. At the time this code is
> executing, it's on a CPU remote from the one which issued any PIO
> writes to the device. So in this case we need to poll the Shub
> register for a remote node, but mmiowb() only polls for the Shub
> corresponding to the current CPU.

Ah, ok. It sounds like Ingo might have a better place to put it anyway.
(I was thinking this was on the switch out path on the CPU where the
task last ran, didn't look at it in detail.)

Of course, the other option is just to require tasks that do MMIO
accesses from userspace to be pinned to particular CPU or node. :)

Thanks,
Jesse