lkml.org 
[lkml]   [2010]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf, x86: Use weight instead of cmask in for_each_event_constraint()
    Commit-ID:  a1f2b70a942b8d858a0ab02567da3999b60a99b2
    Gitweb: http://git.kernel.org/tip/a1f2b70a942b8d858a0ab02567da3999b60a99b2
    Author: Robert Richter <robert.richter@amd.com>
    AuthorDate: Tue, 13 Apr 2010 22:23:15 +0200
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Fri, 7 May 2010 11:31:01 +0200

    perf, x86: Use weight instead of cmask in for_each_event_constraint()

    There may exist constraints with a cmask set to zero. In this case
    for_each_event_constraint() will not work properly. Now weight is used
    instead of the cmask for loop exit detection. Weight is always a value
    other than zero since the default contains the HWEIGHT from the
    counter mask and in other cases a value of zero does not fit too.

    This is in preparation of ibs event constraints that wont have a
    cmask.

    Signed-off-by: Robert Richter <robert.richter@amd.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1271190201-25705-7-git-send-email-robert.richter@amd.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/x86/kernel/cpu/perf_event.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
    index 4e218d7..4a3f1f2 100644
    --- a/arch/x86/kernel/cpu/perf_event.c
    +++ b/arch/x86/kernel/cpu/perf_event.c
    @@ -170,7 +170,7 @@ struct cpu_hw_events {
    EVENT_CONSTRAINT(0, 0, 0)

    #define for_each_event_constraint(e, c) \
    - for ((e) = (c); (e)->cmask; (e)++)
    + for ((e) = (c); (e)->weight; (e)++)

    union perf_capabilities {
    struct {

    \
     
     \ /
      Last update: 2010-05-07 20:47    [W:5.279 / U:0.620 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site