[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Linux v3.12 + pv ticketlocks.
Hey, Linux v3.12 (which is now in merge window phase) has the code for making the spinlock use ticketlocks for everything. The relevant git commit is commit 816434ec4a674fcdb3c2221a6dffdc8f34020550 Merge: f357a82 36bd621 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 4 11:55:10 2013 -0700 Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 spinlock changes from Ingo Molnar: "The biggest change here are paravirtualized ticket spinlocks (PV spinlocks), which bring a nice speedup on various benchmarks. Majority of that work was done by Jeremy Fitzhardinge and I would like to thank him for doing this work. It had taken a year (or more) to actually get it upstreamed. Now that it is, it means that the PV ticketlock implementation is used for: - Xen PV guests (it used to have a PV bytelock locking mechanism) - KVM Linux guests. Baremetal will still use ticketlocks. What is missing is that the Xen PVHVM guests don't use it. They still end up using ticketlock, but not the PV part. The reason is b/c yours didn't get all of the bugs ironed out until today :-) I have a branch in git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/pvticketlock.v7 which fixes the bugs so that under Xen PVHVM the PV ticketlocks are also utilized. There is a cruft of DEBUG patches that one can ignore if CONFIG_XEN_DEBUG_SPIN is not set. Otherwise they cause the slowpath to be executed most of the time to stress test the kicker/waiter logic. I am planning on doing some more testing next week and making sure it all works nicely. We could merge it in v3.12 - as most of the patches are bug-fixes (and two reverts) - see below. However, I am going to be -EBUSY for most of the v3.12 cycle so won't be able to help much if mysterious bugs show up. P.S. The DEBUG code adds new hypercalls. The Xen parts are in git://xenbits.xen.org/people/konradwilk/xen.git devel/pvticketlock.v7 The xenanalyze patch: http://darnok.org/xen/xenanalyze.devel-pvticketlock.v7.patch P.S.S. The relavant patches that make PVHVM work on top of the above mentioned git commit are: 218b57 xen/smp: Update pv_lock_ops before alternative code kicks in (PVHVM). eb2a6eb Revert "xen: disable PV spinlocks on HVM" 15d09db Revert "xen/spinlock: Disable IRQ spinlock (PV) allocation on PVHVM" ee4c3a1 xen/smp: Update pv_lock_ops before alternative code kicks in. 1253858 xen/spinlock: Fix locking path engaging too soon. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |