Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754444Ab1CYQ34 (ORCPT ); Fri, 25 Mar 2011 12:29:56 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:51526 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751417Ab1CYQ3z (ORCPT ); Fri, 25 Mar 2011 12:29:55 -0400 MIME-Version: 1.0 In-Reply-To: <4D8C772202000078000384E1@vpn.id2.novell.com> References: <201103241026.01624.knikanth@suse.de> <20110324085647.GI30812@elte.hu> <20110324145221.GC31194@aftab> <4D8B83DA02000078000381DE@vpn.id2.novell.com> <20110324171924.GC2414@elte.hu> <4D8C772202000078000384E1@vpn.id2.novell.com> From: Linus Torvalds Date: Fri, 25 Mar 2011 09:29:34 -0700 Message-ID: Subject: Re: [PATCH RFC] x86: avoid atomic operation in test_and_set_bit_lock if possible To: Jan Beulich Cc: Ingo Molnar , Jack Steiner , Borislav Petkov , Peter Zijlstra , Nick Piggin , "x86@kernel.org" , Thomas Gleixner , Andrew Morton , Arnaldo Carvalho de Melo , Ingo Molnar , tee@sgi.com, Nikanth Karthikesan , "linux-kernel@vger.kernel.org" , "H. Peter Anvin" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 996 Lines: 24 On Fri, Mar 25, 2011 at 3:06 AM, Jan Beulich wrote: > > The problem was observed with __lock_page() (in a variant not > upstream for reasons not known to me), and prefixing e.g. > trylock_page() with an extra PageLocked() check yielded the > below quoted improvements. Ok. __lock_page() _definitely_ should do the test_bit() thing first, because it's normally called from lock_page() that has already tested the bit. But it already seems to do that, so I'm wondering what your variant is. I'm also a bit surprised that lock_page() is that hot (unless your _lock_page() variant is simply too broken and ends up spinning?). Maybe we have some path that takes the page lock unnecessarily? What's the load? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/