Re: [PATCH] Skip tsc synchronization checks if CONSTANT_TSC bit isset.

From: H. Peter Anvin
Date: Fri Oct 24 2008 - 11:31:01 EST


Andi Kleen wrote:
That is at least to some degree nonsense, simply because we are all well down that particular "slippery slope": we have hardware blacklists and

The big difference is that hardware cannot be easily fixed, hypervisors
are just software and can as simply as Linux. Also there are at least standardized simple ways to detect hardware and platforms using standard enumeration interfaces like PCI or DMI, while each Hypervisor detection seems to need huge amounts of custom (and likely fragile) complicated code.
iirc there was a vmware detection patch around and it was disgusting iirc.


BIOSes are also just software, and we have to deal with bugs in them *all the time*. The reality is that we're going to have to deal with both vendor and user reluctance to upgrade, and therefore have to deal with brokenness in the field. As far as detection code is concerned, I certainly have pushed back on the most disgusting (and broken) attempts, as well insisted that the code be properly centralized.

Also I think this concept of "not PV, but then again a little"
concept that is mandated here is not a useful one.
>
Either do a proper PV interface and then just write a custom
clock driver and paravirt ops interface to make everything really fast,
or just use the direct hardware interface and fix the hypervisor
to do it properly.

It's functionally equivalent to hardware workarounds. There is always a judgement call when something should be forked off into a separate driver, which is exactly what this amounts to.

Especially VMware has this already (although 32bit only).

Ok the tsc_sync issue is borderline, but that one seems to be more a case of tweaking the existing algorithms
to be a little more tolerant.

That is a possibility, but that is a technical issue versus a pseudo-philosophical issue. However, there are clearly a few different problems here with the start-and-stop nature of the virtual environment versus the needs of physical environments, and it's not clear to me that they are inherently compatible, or whether that would entail dangerous compromises.

-hpa

--
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/