From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753851Ab0CWRuG (ORCPT ); Tue, 23 Mar 2010 13:50:06 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:48724 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753785Ab0CWRuE (ORCPT ); Tue, 23 Mar 2010 13:50:04 -0400 Date: Tue, 23 Mar 2010 10:45:08 -0700 (PDT) From: Linus Torvalds To: Ingo Molnar cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, bugzilla-daemon@bugzilla.kernel.org, bugme-daemon@bugzilla.kernel.org, ant.starikov@gmail.com, Peter Zijlstra Subject: Re: [Bugme-new] [Bug 15618] New: 2.6.18->2.6.32->2.6.33 huge regression in performance In-Reply-To: <20100323173409.GA24845@elte.hu> Message-ID: References: <20100323102208.512c16cc.akpm@linux-foundation.org> <20100323173409.GA24845@elte.hu> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 23 Mar 2010, Ingo Molnar wrote: > > It shows a very brutal amount of page fault invoked mmap_sem spinning > overhead. Isn't this already fixed? It's the same old "x86-64 rwsemaphores are using the shit-for-brains generic version" thing, and it's fixed by 1838ef1 x86-64, rwsem: 64-bit xadd rwsem implementation 5d0b723 x86: clean up rwsem type system 59c33fa x86-32: clean up rwsem inline asm statements NOTE! None of those are in 2.6.33 - they were merged afterwards. But they are in 2.6.34-rc1 (and obviously current -git). So Anton would have to compile his own kernel to test his load. We could mark them as stable material if the load in question is a real load rather than just a test-case. On one of the random page-fault benchmarks the rwsem fix was something like a 400% performance improvement, and it was apparently visible in real life on some crazy SGI "initialize huge heap concurrently on lots of threads" load. Side note: the reason the spinlock sucks is because of the fair ticket locks, it really does all the wrong things for the rwsem code. That's why old kernels don't show it - the old unfair locks didn't show the same kind of behavior. Linus From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with ESMTP id CB94E6B01AE for ; Tue, 23 Mar 2010 13:50:04 -0400 (EDT) Date: Tue, 23 Mar 2010 10:45:08 -0700 (PDT) From: Linus Torvalds Subject: Re: [Bugme-new] [Bug 15618] New: 2.6.18->2.6.32->2.6.33 huge regression in performance In-Reply-To: <20100323173409.GA24845@elte.hu> Message-ID: References: <20100323102208.512c16cc.akpm@linux-foundation.org> <20100323173409.GA24845@elte.hu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Ingo Molnar Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, bugzilla-daemon@bugzilla.kernel.org, bugme-daemon@bugzilla.kernel.org, ant.starikov@gmail.com, Peter Zijlstra List-ID: On Tue, 23 Mar 2010, Ingo Molnar wrote: > > It shows a very brutal amount of page fault invoked mmap_sem spinning > overhead. Isn't this already fixed? It's the same old "x86-64 rwsemaphores are using the shit-for-brains generic version" thing, and it's fixed by 1838ef1 x86-64, rwsem: 64-bit xadd rwsem implementation 5d0b723 x86: clean up rwsem type system 59c33fa x86-32: clean up rwsem inline asm statements NOTE! None of those are in 2.6.33 - they were merged afterwards. But they are in 2.6.34-rc1 (and obviously current -git). So Anton would have to compile his own kernel to test his load. We could mark them as stable material if the load in question is a real load rather than just a test-case. On one of the random page-fault benchmarks the rwsem fix was something like a 400% performance improvement, and it was apparently visible in real life on some crazy SGI "initialize huge heap concurrently on lots of threads" load. Side note: the reason the spinlock sucks is because of the fair ticket locks, it really does all the wrong things for the rwsem code. That's why old kernels don't show it - the old unfair locks didn't show the same kind of behavior. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org