Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760909AbZLOSzO (ORCPT ); Tue, 15 Dec 2009 13:55:14 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1760888AbZLOSzK (ORCPT ); Tue, 15 Dec 2009 13:55:10 -0500 Received: from e37.co.us.ibm.com ([32.97.110.158]:35643 "EHLO e37.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760855AbZLOSzH (ORCPT ); Tue, 15 Dec 2009 13:55:07 -0500 Message-ID: <4B27DB70.50304@linux.vnet.ibm.com> Date: Tue, 15 Dec 2009 10:54:40 -0800 From: Corey Ashford User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: Paul Mackerras CC: Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org, Michael Neuling Subject: Re: [PATCH 1/2] perf_event: Fix incorrect range check on cpu number References: <20091215084032.GA18661@brick.ozlabs.ibm.com> <1260873092.4165.354.camel@twins> <20091215110055.GC18661@brick.ozlabs.ibm.com> In-Reply-To: <20091215110055.GC18661@brick.ozlabs.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1384 Lines: 32 Paul Mackerras wrote: > On Tue, Dec 15, 2009 at 11:31:32AM +0100, Peter Zijlstra wrote: > >> On Tue, 2009-12-15 at 19:40 +1100, Paul Mackerras wrote: >>> It is quite legitimate for CPUs to be numbered sparsely, meaning that >>> it possible for an online CPU to have a number which is greater than >>> the total count of possible CPUs. >>> >>> Currently find_get_context() has a sanity check on the cpu number >>> where it checks it against num_possible_cpus(). This test can fail >>> for a legitimate cpu number if the cpu_possible_mask is sparsely >>> populated. >>> >>> This fixes the problem by checking the CPU number against >>> nr_cpumask_bits instead, since that is the appropriate check to ensure >>> that the cpu number is same to pass to cpu_isset() subsequently. >> Cute, do you actually have hardware that does this? > > Yeah, Mikey ran across this on a POWER7 box here. Does the perf tool need to be fixed too? The "perf stat" tool, at least, has a "-a" switch that tells the tool to count the event on all cpus, and it does this by iterating over the number of cpus, 0..n, assuming they are all contiguous. - Corey -- 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/