From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: [PATCH RFC 10/12] x86/pvticketlock: keep count of blocked cpus Date: Tue, 3 Aug 2010 19:44:51 +1000 Message-ID: <20100803094451.GA5556@amd> References: <9d5625e61c7f35e72156e8cb881e55910b4fa5dc.1279328276.git.jeremy.fitzhardinge@citrix.com> <1280824360.1923.421.camel@laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1280824360.1923.421.camel@laptop> Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra Cc: Jeremy Fitzhardinge , Linux Kernel Mailing List , Nick Piggin , Jan Beulich , Avi Kivity , Xen-devel List-Id: xen-devel@lists.xenproject.org On Tue, Aug 03, 2010 at 10:32:40AM +0200, Peter Zijlstra wrote: > On Fri, 2010-07-16 at 18:03 -0700, Jeremy Fitzhardinge wrote: > > @@ -26,6 +26,9 @@ typedef struct arch_spinlock { > > __ticket_t head, tail; > > } tickets; > > }; > > +#ifdef CONFIG_PARAVIRT_SPINLOCKS > > + __ticket_t waiting; > > +#endif > > } arch_spinlock_t; > > This bloats spinlock_t from u32 to u64 on most distro configs I think, > since they'll have NR_CPUS=4096 or something large like that and > probably also want to have this PARAVIRT_SPINLOCKS thing. Which sucks for carefully packed data structures like dentry. They'll tend to grow by 8 bytes per spinlock.