From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH v7 1/4] spinlock: A new lockref structure for lockless update of refcount Date: Thu, 5 Sep 2013 19:40:19 +0200 Message-ID: <20130905174019.GA30435@gmail.com> References: <20130831023516.GI13318@ZenIV.linux.org.uk> <20130831024233.GJ13318@ZenIV.linux.org.uk> <5224E647.80303@hp.com> <20130903060130.GD16261@gmail.com> <5225FCEE.7030901@hp.com> <52274943.1040005@hp.com> <20130905133123.GA24351@gmail.com> <5228C062.7030106@hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Linus Torvalds , Al Viro , Benjamin Herrenschmidt , Jeff Layton , Miklos Szeredi , Ingo Molnar , Thomas Gleixner , linux-fsdevel , Linux Kernel Mailing List , Peter Zijlstra , Steven Rostedt , Andi Kleen , "Chandramouleeswaran, Aswin" , "Norton, Scott J" To: Waiman Long Return-path: Content-Disposition: inline In-Reply-To: <5228C062.7030106@hp.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org * Waiman Long wrote: > On 09/05/2013 09:31 AM, Ingo Molnar wrote: > >* Waiman Long wrote: > > > > > >>The latest tty patches did work. The tty related spinlock contention > >>is now completely gone. The short workload can now reach over 8M JPM > >>which is the highest I have ever seen. > >> > >>The perf profile was: > >> > >>5.85% reaim reaim [.] mul_short > >>4.87% reaim [kernel.kallsyms] [k] ebitmap_get_bit > >>4.72% reaim reaim [.] mul_int > >>4.71% reaim reaim [.] mul_long > >>2.67% reaim libc-2.12.so [.] __random_r > >>2.64% reaim [kernel.kallsyms] [k] lockref_get_not_zero > >>1.58% reaim [kernel.kallsyms] [k] copy_user_generic_string > >>1.48% reaim [kernel.kallsyms] [k] mls_level_isvalid > >>1.35% reaim [kernel.kallsyms] [k] find_next_bit > >6%+ spent in ebitmap_get_bit() and mls_level_isvalid() looks like > >something worth optimizing. > > > >Is that called very often, or is it perhaps cache-bouncing for some > >reason? > > The high cycle count is due more to inefficient algorithm in the > mls_level_isvalid() function than cacheline contention in the code. The > attached patch should address this problem. It is in linux-next and > hopefully will be merged in 3.12. Great! If/when you happen to boot the latest & greatest kernel that has all these scalability patches applied it would be nice if you could send an updated profile into this thread. Thanks, Ingo