From patchwork Tue Jun 13 04:24:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ricardo Neri X-Patchwork-Id: 692454 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7471FC77B7A for ; Tue, 13 Jun 2023 04:21:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239215AbjFMEVx (ORCPT ); Tue, 13 Jun 2023 00:21:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239104AbjFMEVn (ORCPT ); Tue, 13 Jun 2023 00:21:43 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC1F510DC; Mon, 12 Jun 2023 21:21:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686630101; x=1718166101; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=QU+wKINCGsj5LuFLg6kYBTKe+UQFDp2wCImpIqFvbB4=; b=f02zPALJIwzedBIRhSsrfRqitbua2VMWgHiFwOHwrcENt4V9ygcGotgM j9MLI+tPYwqk/jhjwNFeZAjlnSdSF8e2x0vfUKO2NbjNXg89voi13uUQx k1i8kkynO1p0AbH2qnGwTRsdS75ROJscCU8MJY+FBEFD9OJrWZhK7FjF0 eWH+HEHC5ZtzjX3Wd5uTw/PuPwS9KbfiujaY4+3k646VQ5NQmhId0AUqB eG5XP73s91K2UdN1w9PbQJylflFBONK5DYDlxA16nMPphcapt7puMIS21 G6LETGSxHH4hJLT1+Hp3SYAewgg7O5T2O6pbjyYgdGL3OlZscDqpsDDbW w==; X-IronPort-AV: E=McAfee;i="6600,9927,10739"; a="358222083" X-IronPort-AV: E=Sophos;i="6.00,238,1681196400"; d="scan'208";a="358222083" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2023 21:21:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10739"; a="661854947" X-IronPort-AV: E=Sophos;i="6.00,238,1681196400"; d="scan'208";a="661854947" Received: from ranerica-svr.sc.intel.com ([172.25.110.23]) by orsmga003.jf.intel.com with ESMTP; 12 Jun 2023 21:21:40 -0700 From: Ricardo Neri To: "Peter Zijlstra (Intel)" , Juri Lelli , Vincent Guittot Cc: Ricardo Neri , "Ravi V. Shankar" , Ben Segall , Daniel Bristot de Oliveira , Dietmar Eggemann , Len Brown , Mel Gorman , "Rafael J. Wysocki" , Srinivas Pandruvada , Steven Rostedt , Tim Chen , Valentin Schneider , Lukasz Luba , Ionela Voinescu , Zhao Liu , "Yuan, Perry" , x86@kernel.org, "Joel Fernandes (Google)" , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ricardo Neri , "Tim C . Chen" , Zhao Liu Subject: [PATCH v4 05/24] sched/core: Update the IPC class of the current task Date: Mon, 12 Jun 2023 21:24:03 -0700 Message-Id: <20230613042422.5344-6-ricardo.neri-calderon@linux.intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230613042422.5344-1-ricardo.neri-calderon@linux.intel.com> References: <20230613042422.5344-1-ricardo.neri-calderon@linux.intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org When supported, hardware monitors the instruction stream to classify the current task. Hence, at userspace tick, we are ready to read the most recent classification result for the current task. Cc: Ben Segall Cc: Daniel Bristot de Oliveira Cc: Dietmar Eggemann Cc: Ionela Voinescu Cc: Joel Fernandes (Google) Cc: Len Brown Cc: Lukasz Luba Cc: Mel Gorman Cc: Perry Yuan Cc: Rafael J. Wysocki Cc: Srinivas Pandruvada Cc: Steven Rostedt Cc: Tim C. Chen Cc: Valentin Schneider Cc: Zhao Liu Cc: x86@kernel.org Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Ricardo Neri --- Changes since v3: * None Changes since v2: * None Changes since v1: * Removed argument smt_siblings_idle from call to arch_ipcc_update(). * Used the new IPCC interfaces names. --- kernel/sched/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 6ac53f01d989..876396b1d077 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5651,6 +5651,9 @@ void scheduler_tick(bool user_tick) if (housekeeping_cpu(cpu, HK_TYPE_TICK)) arch_scale_freq_tick(); + if (sched_ipcc_enabled() && user_tick) + arch_update_ipcc(curr); + sched_clock_tick(); rq_lock(rq, &rf);