From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [QUERY] lguest64 Date: Sun, 4 Aug 2013 15:37:08 +0300 Message-ID: <20130804123708.GM6042@redhat.com> References: <51E97779.3020103@zytor.com> <87zjte9iah.fsf@rustcorp.com.au> <51F9005F.30501@zytor.com> <20130731131757.GB22124@phenom.dumpdata.com> <51F91030.9060606@zytor.com> <20130802190934.GA4354@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20130802190934.GA4354@phenom.dumpdata.com> Sender: linux-kernel-owner@vger.kernel.org To: Konrad Rzeszutek Wilk Cc: "H. Peter Anvin" , Mukesh Rathor , Mike Rapoport , Rusty Russell , Ramkumar Ramachandra , LKML , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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.