Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1984642yba; Fri, 10 May 2019 04:33:48 -0700 (PDT) X-Google-Smtp-Source: APXvYqzAPAVUEYZrAG7XXVB1gTjYzYJhMXVUlzWQ15+9dvExd6yT2ooNhldJFPH0uJcyH7ezuDuz X-Received: by 2002:a17:902:12f:: with SMTP id 44mr12232349plb.193.1557488028770; Fri, 10 May 2019 04:33:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557488028; cv=none; d=google.com; s=arc-20160816; b=lrRW46nG0GcFELC9+UwbVhA/1P0pAohXXtdQOGPiXuU9witQrEtsXv9q2DFuQqMfBC vX0tdDZugQKAU3vQSaqVrjKOay1LThP87XizODPbEMe3dF4j82s89QBHFlbafe0gMYZL jMXV5RP2uIM6Qko3PMJZNxD2kIWT/cZhVlKJL/lu8P0CZk1DEAN3VohVeiv/dA5Rnrqh PEDngI2lYTqahgJNLfE9tMPOibH3btJOPwqNDzCh1/LxAFf09boUnyAz+k2v95o7UWDi OAITRfxwM3XY4xwsA5qF+JK/FUAfsgf0HRnrcs/+58XLKlr4iMUEQhM3pG4Gz4RqM7HJ XzlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=jCUCO6t9OSY21/oo7dKAkgjPtoKE5zZ61FFkR3TIuEE=; b=ZRG1hakIHY1h4yFj7hVsXVwkeDSisqZnqWcyGAxBVjnuS3IlpkKp5p5CyxaGYdat2e Y8+uWnPGtNFfiTcE/HmkMUpFq+Mi0VxcoOxOT8GDu74lnMkjw+hH3vEYq4eio93vW+WE Bz/DPfq2x3eN77HO/3X2sBOCWBdYUpgIWpGypoXq+nbXuRWXQFJeN9Z1Em4XwupELPLv cTeGyrGDJtbpmN8a6qCvC8kFuNY3avXN4gXyLvrtETkEb5GZaFRH0DOShYm9BF7xButK bpK1n2uN7atmnvs6LvSpv7AUFMCS8TQVu1fKs3iMqg0elf2AklJmiKtKbWn+3EvspL6D S41w== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z25si6844593pgv.442.2019.05.10.04.33.32; Fri, 10 May 2019 04:33:48 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727261AbfEJLcc (ORCPT + 99 others); Fri, 10 May 2019 07:32:32 -0400 Received: from foss.arm.com ([217.140.101.70]:44472 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727097AbfEJLcc (ORCPT ); Fri, 10 May 2019 07:32:32 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A725C374; Fri, 10 May 2019 04:32:31 -0700 (PDT) Received: from e107158-lin.cambridge.arm.com (e107158-lin.cambridge.arm.com [10.1.194.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A33EB3F6C4; Fri, 10 May 2019 04:32:29 -0700 (PDT) From: Qais Yousef To: Peter Zijlstra , Ingo Molnar , Steven Rostedt Cc: linux-kernel@vger.kernel.org, Pavankumar Kondeti , Sebastian Andrzej Siewior , Uwe Kleine-Konig , Dietmar Eggemann , Quentin Perret , Qais Yousef Subject: [PATCH v2 0/7] Add new tracepoints required for EAS testing Date: Fri, 10 May 2019 12:30:06 +0100 Message-Id: <20190510113013.1193-1-qais.yousef@arm.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes in v2: - Add include guards to the newly added headers - Rename tracepoints: sched_load_rq -> pelt_rq sched_load_se -> pelt_se - Rename helper functions: s/sched_tp/sched_trace/ - Make sched_trace*() less fat by reducing path size to 20 bytes from 64. - Fix compilation error when building on UP The following patches add the bare minimum tracepoints required to perform EAS testing in Lisa[1]. The new tracepoints are bare in a sense that they don't export any info in tracefs, hence shouldn't introduce any ABI. The intended way to use them is by loading a module that will probe the tracepoints and extract the info required for userspace testing. It is done in this way because adding new TRACE_EVENTS() is no longer accepted AFAIU. The tracepoints are focused around tracking PELT signals which is what EAS uses to make its decision, hence knowing the value of PELT as it changes allows verifying that EAS is doing the right thing based on synthetic tests that simulate different scenarios. Beside EAS, the new tracepoints can help investigate CFS load balancer and CFS taskgroup handling as they are both based on PELT signals too. The first 2 patches do a bit of code shuffling to expose some required functions. Patch 3 adds a new cfs helper function. Patches 4-6 add the new tracepoints. Patch 7 exports the tracepoints so that out of tree modules can probe the new tracepoints with least amount of effort - which extends the usefulness of the tracepoints since creating a module to probe them is the only way to access them. An example module that uses these tracepoints is available in [2]. [1] https://github.com/ARM-software/lisa [2] https://github.com/qais-yousef/tracepoints-helpers/blob/master/lisa_tp/lisa_tp.c Qais Yousef (7): sched: autogroup: Make autogroup_path() always available sched: fair: move helper functions into fair.h sched: fair.h: add a new cfs_rq_tg_path() sched: Add pelt_rq tracepoint sched: Add pelt_se tracepoint sched: Add sched_overutilized tracepoint sched: export the newly added tracepoints include/trace/events/sched.h | 17 +++ kernel/sched/autogroup.c | 2 - kernel/sched/core.c | 8 ++ kernel/sched/fair.c | 212 ++---------------------------- kernel/sched/fair.h | 219 +++++++++++++++++++++++++++++++ kernel/sched/pelt.c | 6 + kernel/sched/sched.h | 1 + kernel/sched/sched_tracepoints.h | 63 +++++++++ 8 files changed, 328 insertions(+), 200 deletions(-) create mode 100644 kernel/sched/fair.h create mode 100644 kernel/sched/sched_tracepoints.h -- 2.17.1