lkml.org 
[lkml]   [2016]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 12/32] perf/x86/intel/cqm: schedule work for rotation task
    On Wed, 11 May 2016, David Carrillo-Cisneros wrote:

    > Make execution of rotation a delayed_work that does a best effort
    > to rotate __cqm_min_progress_rate pmonrs per-second in every package.
    >
    > Reviewed-by: Stephane Eranian <eranian@google.com>
    > Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
    > ---
    > arch/x86/events/intel/cqm.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-
    > arch/x86/events/intel/cqm.h | 21 ++++++++++++++
    > 2 files changed, 90 insertions(+), 1 deletion(-)
    >
    > diff --git a/arch/x86/events/intel/cqm.c b/arch/x86/events/intel/cqm.c
    > index 203fc66..a61dd70 100644
    > --- a/arch/x86/events/intel/cqm.c
    > +++ b/arch/x86/events/intel/cqm.c
    > @@ -222,6 +222,8 @@ static int pkg_data_init_cpu(int cpu)
    > mutex_init(&pkg_data->pkg_data_mutex);
    > raw_spin_lock_init(&pkg_data->pkg_data_lock);
    >
    > + INIT_DELAYED_WORK(
    > + &pkg_data->rotation_work, intel_cqm_rmid_rotation_work);

    How's that supposed to compile? intel_cqm_rmid_rotation_work is defined below.

    > +/*
    > + * Schedule rotation and rmid's timed update in all packages.
    > + * Reescheduling will stop when no longer needed.
    > + */
    > +static void intel_cqm_schedule_work_all_pkgs(void)
    > +{
    > + int pkg_id;
    > +
    > + cqm_pkg_id_for_each_online(pkg_id)
    > + __intel_cqm_schedule_rotation_for_pkg(pkg_id);

    That's going to make the NOHZ_FULL people very happy. NOT!

    > @@ -1744,6 +1810,8 @@ static int intel_cqm_event_init(struct perf_event *event)
    >
    > mutex_unlock(&cqm_mutex);
    >
    > + intel_cqm_schedule_work_all_pkgs();

    Why would you trigger rotation on each package if you just monitor a given
    package?

    Thanks,

    tglx

    \
     
     \ /
      Last update: 2016-05-18 23:01    [W:2.055 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site