Re: [QUERY] lguest64

From: Gleb Natapov
Date: Sun Aug 04 2013 - 08:37:25 EST


On Fri, Aug 02, 2013 at 03:09:34PM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, Jul 31, 2013 at 06:25:04AM -0700, H. Peter Anvin wrote:
> > On 07/31/2013 06:17 AM, Konrad Rzeszutek Wilk wrote:
> > >>
> > >> The big problem with pvops is that they are a permanent tax on future
> > >> development -- a classic case of "the hooks problem." As such it is
> > >> important that there be a real, significant, use case with enough users
> > >> to make the pain worthwhile. With Xen looking at sunsetting PV support
> > >> with a long horizon, it might currently be possible to remove pvops some
> > >
> > > PV MMU parts specifically.
> > >
> >
> > Pretty much stuff that is driverized on plain hardware doesn't matter.
> > What are you looking at with respect to the basic CPU control state?
>
>
> CC-ing Mukesh here.
>
> Let me iterate down what the experimental patch uses:
>
> struct pv_init_ops pv_init_ops;
> [still use xen_patch, but I think that is not needed anymore]
>
> struct pv_time_ops pv_time_ops;
> [we need that as we are using the PV clock source]
>
> struct pv_cpu_ops pv_cpu_ops;
> [only end up using cpuid. This one is a tricky one. We could
> arguable remove it but it does do some filtering - for example
> THERM is turned off, or MWAIT if a certain hypercall tells us to
> disable that. Since this is now a trapped operation this could be
> handled in the hypervisor - but then it would be in charge of
> filtering certain CPUID - and this is at bootup - so there is not
> user interaction. This needs a bit more of thinking]
>
read_msr/write_msr in this one make all msr accesses safe. IIRC there
are MSRs that Linux uses without checking cpuid bits.
IA32_PERF_CAPABILITIES for instance is used without checking PDCM bit.


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