Re: [patch 2/8] Implement always-locked bit ops, for memory shared with an SMP hypervisor.

Andi Kleen
2006-08-03T05:25:23Z

> As far as I can tell from this conversation there are special "Xen"
> drivers that need this not the rest of the system.

Yes, but in general when a driver that runs on multiple architectures
(including IA64 btw) needs something architecture specific we usually
add it to asm, not add ifdefs.

> > > for those special xen drivers.
> >
> > Well there might be reasons someone else uses this in the future too.
> > It's also not exactly Linux style - normally we try to add generic
> > facilities.
>
> What possible use could there be to someone else?

e.g. for other hypervisors or possibly for special hardware access
(e.g. I could imagine it being used for some kind of cluster interconnect)
I remember Alan was using a similar hack in his EDAC drivers because
it was the only way to clear ECC errors.

> The "atomic" ops lock/unlock crap exists only for i386 as far as I can
> tell. As you said most architectures either always use atomic ops or
> never. The lock/unlock atomic ops are i386 specific material that
> better stay contained. Its arch specific and not generic.

Well we have our share of weird hacks for IA64 too in generic code.

Just adding a single line #include for a wrapper asm-generic surely isn't
a undue burden for the other architectures, and it will save some
mess in the Xen drivers.

-Andi