[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] kernel bootup slow issue on ovm3.1.1
On Mon, 13 Aug 2012, Jan Beulich wrote: > >>> On 13.08.12 at 09:58, "zhenzhong.duan" <zhenzhong.duan@xxxxxxxxxx> wrote: > > ä 2012-08-10 22:22, Jan Beulich åé: > >> Going back to your original mail, I wonder however why this > >> gets done at all. You said it got there via > >> > >> mtrr_aps_init() > >> \-> set_mtrr() > >> \-> mtrr_work_handler() > >> > >> yet this isn't done unconditionally - see the comment before > >> checking mtrr_aps_delayed_init. Can you find out where the > >> obviously necessary call(s) to set_mtrr_aps_delayed_init() > >> come(s) from? > > At bootup stage, set_mtrr_aps_delayed_init is called by > > native_smp_prepare_cpus. > > mtrr_aps_delayed_init is always set to ture for intel processor in upstream > > code. > > Indeed, and that (in one form or another) has been done > virtually forever in Linux. I wonder why the problem wasn't > noticed (or looked into, if it was noticed) so far. > > As it's going to be rather difficult to convince the Linux folks > to change their code (plus this wouldn't help with existing > kernels anyway), we'll need to find a way to improve this in > the hypervisor. > > One seemingly orthogonal thing would presumably help quite > a bit on the guest side nevertheless - para-virtualized spin > locks. I have no idea why this is only being done when running > pv, but not for pvhvm. Konrad, Stefano? I tried to use PV spinlocks on PV on HVM guests but I found that: commit f10cd522c5fbfec9ae3cc01967868c9c2401ed23 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Sep 6 17:41:47 2011 +0100 xen: disable PV spinlocks on HVM PV spinlocks cannot possibly work with the current code because they are enabled after pvops patching has already been done, and because PV spinlocks use a different data structure than native spinlocks so we cannot switch between them dynamically. A spinlock that has been taken once by the native code (__ticket_spin_lock) cannot be taken by __xen_spin_lock even after it has been released. Reported-and-Tested-by: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> at that time Jeremy was finishing off his PV ticket locks series, that has the nice side effect of making it much easier to implement PV on HVM spin locks so I just deciced to wait and just append the following patch to his series: http://marc.info/?l=xen-devel&m=131846828430409&w=2 that clearly never went upstream. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |