From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: Preemptable Ticket Spinlock Date: Mon, 22 Apr 2013 14:56:44 -0700 Message-ID: References: <51745650.9050204@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jiannan Ouyang , LKML , Raghavendra K T , Peter Zijlstra , Avi Kivity , Gleb Natapov , Ingo Molnar , Marcelo Tosatti , Srikar , "H. Peter Anvin" , "Nikunj A. Dadhania" , KVM , Thomas Gleixner , Chegu Vinod , "Andrew M. Theurer" , Srivatsa Vaddagiri , Andrew Jones , Karen Noel To: Rik van Riel Return-path: In-Reply-To: <51745650.9050204@redhat.com> (Rik van Riel's message of "Sun, 21 Apr 2013 17:12:48 -0400") Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Rik van Riel writes: > > If we always incremented the ticket number by 2 (instead of 1), then > we could use the lower bit of the ticket number as the spinlock. Spinning on a single bit is very inefficient, as you need to do try lock in a loop which is very unfriendly to the MESI state protocol. It's much better to have at least three states and allow spinning-while-reading-only. This is typically very visible on systems with >2S. -Andi -- ak@linux.intel.com -- Speaking for myself only