Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2663852ybb; Sun, 5 Apr 2020 13:15:54 -0700 (PDT) X-Google-Smtp-Source: APiQypL/1wP/C0DLLDrlrULcY8o/AJnhwTu+kF+AO37OrceqU2KQYAoJOcSWO2UzMz1k5tOD9lam X-Received: by 2002:aca:7506:: with SMTP id q6mr10569031oic.73.1586117754450; Sun, 05 Apr 2020 13:15:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586117754; cv=none; d=google.com; s=arc-20160816; b=oiPrK1RcgbgHUDcjcUC4yCup98mXe8tqkFEKg+xKJ48SE9TQQevHgi6lTf1WZXFF1a EwPkJlozuL4+Ur10LxgxfC0veltJ5rIVfdUv2TxPFFCYZlHM4BlXoLJvfloMP+AoDo/U 6OETgp9LtpR/GeyBXczEwHmhpFB6tANDN/z4jERCd/R13kK2JylqZyp3uJ2cQyoCXyWO G3fOpgySfsY0Ye8JRM70Vgm9yaQMnUe00dU4CGJ7Zv6fiFKg3oQhXfBNOMzIV4zjEGxl PD9Jhs+SqZ/1u2SkVzvleWnKTsJR9sA+fOGixIen+FGwdPfQuol788iIr0fs59G9wzAn RE4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:organization:references:in-reply-to :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=eUVoSbv2ky5og15Og90NJ0Wa43dBGMcxCHlpDx7AObg=; b=iQ8WnRUg54ErHLeSeY1ca1EJcKFTg90raJWQRCM386sxjEy/IQkPS3LzvKMlmSDOo0 tr0Tu7tvxeEqPOVNnZ6FHqBbOSdDqpOji6fyczQxdzjUDDzChLhuN3DWDHQLFne6FQ42 h9Y1GVgkNnpwFWJlHtYpbPUJUCj5h8o3M1+tuyT3rZEeOfR5wJsmp6PEVUxf7wFxUaSp VtgZ3lsdURDGURPJRU00fPFCnWkjj/alB+Rcw0NcQYABLz5NX5Z4p6PAMqPdTjVCsCFP Di6MSyTy/aT0OvJ247FyFQ82IWN9GWV+xFMYEhuFgDLGwF0guftk7MnYu09lH0D2sXLb DwiQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 6si6751426otv.76.2020.04.05.13.15.42; Sun, 05 Apr 2020 13:15:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727986AbgDEUPA (ORCPT + 99 others); Sun, 5 Apr 2020 16:15:00 -0400 Received: from mga01.intel.com ([192.55.52.88]:62225 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727612AbgDEUO7 (ORCPT ); Sun, 5 Apr 2020 16:14:59 -0400 IronPort-SDR: c9MNLutyesKtQ7IfwM7lQ7fNbxCQeGTfeoyrhgdRaMYf82JrAtInm2donmfj9SpP/g9JEqyrN3 rOfVbWWTgOkQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Apr 2020 13:14:57 -0700 IronPort-SDR: tIJpcC/JsuIbJBSb2JsuxrV1dHhkX8TiPb58HIzQXwWYvhV4ddZy5gf6prBzTIDcmkcoAUA/gC +J+k8HsATp7A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,348,1580803200"; d="scan'208";a="329688440" Received: from ahunter-desktop.fi.intel.com ([10.237.72.87]) by orsmga001.jf.intel.com with ESMTP; 05 Apr 2020 13:14:54 -0700 From: Adrian Hunter To: Peter Zijlstra Cc: Ingo Molnar , Masami Hiramatsu , Steven Rostedt , Borislav Petkov , "H . Peter Anvin" , x86@kernel.org, Mark Rutland , Alexander Shishkin , Mathieu Poirier , Leo Yan , Arnaldo Carvalho de Melo , Jiri Olsa , linux-kernel@vger.kernel.org Subject: [PATCH V6 10/15] perf evlist: Disable 'immediate' events last Date: Sun, 5 Apr 2020 23:13:22 +0300 Message-Id: <20200405201327.7332-11-adrian.hunter@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200405201327.7332-1-adrian.hunter@intel.com> References: <20200405201327.7332-1-adrian.hunter@intel.com> Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Events marked as 'immediate' are started before other events to ensure that there is context at the start of the main tracing events. The same is true at the end of tracing, so disable 'immediate' events after other events. Signed-off-by: Adrian Hunter --- tools/perf/util/evlist.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 1548237b6558..06c4586065cc 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -379,22 +379,33 @@ void evlist__disable(struct evlist *evlist) { struct evsel *pos; struct affinity affinity; - int cpu, i; + int cpu, i, imm = 0; + bool has_imm = false; if (affinity__setup(&affinity) < 0) return; - evlist__for_each_cpu(evlist, i, cpu) { - affinity__set(&affinity, cpu); - - evlist__for_each_entry(evlist, pos) { - if (evsel__cpu_iter_skip(pos, cpu)) - continue; - if (pos->disabled || !perf_evsel__is_group_leader(pos) || !pos->core.fd) - continue; - evsel__disable_cpu(pos, pos->cpu_iter - 1); + /* Disable 'immediate' events last */ + for (imm = 0; imm <= 1; imm++) { + evlist__for_each_cpu(evlist, i, cpu) { + affinity__set(&affinity, cpu); + + evlist__for_each_entry(evlist, pos) { + if (evsel__cpu_iter_skip(pos, cpu)) + continue; + if (pos->disabled || !perf_evsel__is_group_leader(pos) || !pos->core.fd) + continue; + if (pos->immediate) + has_imm = true; + if (pos->immediate != imm) + continue; + evsel__disable_cpu(pos, pos->cpu_iter - 1); + } } + if (!has_imm) + break; } + affinity__cleanup(&affinity); evlist__for_each_entry(evlist, pos) { if (!perf_evsel__is_group_leader(pos) || !pos->core.fd) -- 2.17.1