lkml.org 
[lkml]   [2009]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/2] perf_event: Fix incorrect range check on cpu number

    * Corey Ashford <cjashfor@linux.vnet.ibm.com> wrote:

    >
    > 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.

    Yes, see patch 2/2 of this series.

    Ingo


    \
     
     \ /
      Last update: 2009-12-15 20:11    [W:0.023 / U:61.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site