From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752902Ab0CWVT2 (ORCPT ); Tue, 23 Mar 2010 17:19:28 -0400 Received: from mail-bw0-f209.google.com ([209.85.218.209]:34695 "EHLO mail-bw0-f209.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752518Ab0CWVT0 (ORCPT ); Tue, 23 Mar 2010 17:19:26 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=A9yT2bdWVWXbblCf4+MnHjs2TY7Gil5Ts2e8ghZaP3vUXCe48Aeetm7WJ6oYpbbnON PSpRRBFi/tYVxWpDjqfpG5RDhKaq2ynxdMMvOEhDzI70FSBv5ddQaNu/MnXYjnOi20LI eGLIBZrypQn+9+flTubGc4A03R4v9vd+7VuD0= Subject: Re: [Bugme-new] [Bug 15618] New: 2.6.18->2.6.32->2.6.33 huge regression in performance Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=us-ascii From: Anton Starikov In-Reply-To: <20100323111351.756c8752.akpm@linux-foundation.org> Date: Tue, 23 Mar 2010 22:19:21 +0100 Cc: Ingo Molnar , Linus Torvalds , linux-mm@kvack.org, linux-kernel@vger.kernel.org, bugzilla-daemon@bugzilla.kernel.org, bugme-daemon@bugzilla.kernel.org, Peter Zijlstra Content-Transfer-Encoding: 7bit Message-Id: <7FF95EC7-EF76-4321-A7A0-E9018F1B1A90@gmail.com> References: <20100323102208.512c16cc.akpm@linux-foundation.org> <20100323173409.GA24845@elte.hu> <20100323111351.756c8752.akpm@linux-foundation.org> To: Andrew Morton X-Mailer: Apple Mail (2.1077) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Although case is solved, I will post description for testcase program. Just in case someone wonder or would like to keep it for some later tests. ------------------------------------------------------------------------ It is a parallel model checker. The command line you used does reachability on the state space of mode anderson.6, meaning that it searches through all possible states (int vectors). Each thread gets a vector from the queue, calculates its successor states and puts them in a lock-less static hash table (pseudo BFS exploration because the threads each have there own queue). How did ingo run the binary? Because the static table size should be chosen to fit into memory. "-s 27" allocates 2^27 * (|vector| + 1 ) * sizeof(int) bytes. |vector| is equal to 19 for anderson.6, ergo the table size is 10GB. This could explain the huge number of page faults ingo gets. But anyway, you can imagine that the code is quiet jumpy and has a big memory footprint, so the page faults may also be normal. ------------------------------------------------------------------------ On Mar 23, 2010, at 7:13 PM, Andrew Morton wrote: > Anton, we have an executable binary in the bugzilla report but it would > be nice to also have at least a description of what that code is > actually doing. A quick strace shows quite a lot of mprotect activity. > A pseudo-code walkthrough, perhaps? > > Thanks. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with SMTP id AF1956B01C2 for ; Tue, 23 Mar 2010 17:19:26 -0400 (EDT) Received: by bwz19 with SMTP id 19so5617363bwz.6 for ; Tue, 23 Mar 2010 14:19:24 -0700 (PDT) Subject: Re: [Bugme-new] [Bug 15618] New: 2.6.18->2.6.32->2.6.33 huge regression in performance Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=us-ascii From: Anton Starikov In-Reply-To: <20100323111351.756c8752.akpm@linux-foundation.org> Date: Tue, 23 Mar 2010 22:19:21 +0100 Content-Transfer-Encoding: 7bit Message-Id: <7FF95EC7-EF76-4321-A7A0-E9018F1B1A90@gmail.com> References: <20100323102208.512c16cc.akpm@linux-foundation.org> <20100323173409.GA24845@elte.hu> <20100323111351.756c8752.akpm@linux-foundation.org> Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: Ingo Molnar , Linus Torvalds , linux-mm@kvack.org, linux-kernel@vger.kernel.org, bugzilla-daemon@bugzilla.kernel.org, bugme-daemon@bugzilla.kernel.org, Peter Zijlstra List-ID: Although case is solved, I will post description for testcase program. Just in case someone wonder or would like to keep it for some later tests. ------------------------------------------------------------------------ It is a parallel model checker. The command line you used does reachability on the state space of mode anderson.6, meaning that it searches through all possible states (int vectors). Each thread gets a vector from the queue, calculates its successor states and puts them in a lock-less static hash table (pseudo BFS exploration because the threads each have there own queue). How did ingo run the binary? Because the static table size should be chosen to fit into memory. "-s 27" allocates 2^27 * (|vector| + 1 ) * sizeof(int) bytes. |vector| is equal to 19 for anderson.6, ergo the table size is 10GB. This could explain the huge number of page faults ingo gets. But anyway, you can imagine that the code is quiet jumpy and has a big memory footprint, so the page faults may also be normal. ------------------------------------------------------------------------ On Mar 23, 2010, at 7:13 PM, Andrew Morton wrote: > Anton, we have an executable binary in the bugzilla report but it would > be nice to also have at least a description of what that code is > actually doing. A quick strace shows quite a lot of mprotect activity. > A pseudo-code walkthrough, perhaps? > > Thanks. -- 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