From nobody Fri Dec 19 04:03:04 2025 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 838A421D3DA for ; Wed, 26 Feb 2025 14:33:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.60.130.6 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740580429; cv=none; b=UvWB2jS6eDpkguhy3VZR4XwaH3rTsjtKq2cx5nTe4pxDoycWnX8rTcrHA7QbxXjoopcMghphPqwly2y31fvFyutC3IgCA/pc8S60S2tt9I+kRiDZoMTRTwqHxtGgiAbNcWEGJudveHWUE/nUqx7cZkoa3Dp1IBmmrUQEgmrNSjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740580429; c=relaxed/simple; bh=5GfH1Pyu7/D7bl8UcG9xGy8Canfq21C9ulv3DT+imuo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hrqIsCeSVbP1JuXcOOoz9OTAHDIPBf7ACxibcjgzPH4bQgNzjbRPq3C/tCjKmmXKoqjgwyI7wEkSLYNc89dnlm+ZTJstsIshTxYXPWRRahzHYp8dGQPuY2VM1L2D0Ewr4ZIE+34PLPO5iT8TEh9vdexQU97mRv3WlGvDo7xBoFM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=KPekCYgr; arc=none smtp.client-ip=178.60.130.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="KPekCYgr" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=lnfc1mtH9wgPI3DQjb4cWSOpLADJxirWr/7Ukn7eijw=; b=KPekCYgrDJJTZAk7RJL4YPwXo3 gGJ2CSu2/4uedWsv+qkQ1CkPpmQi1mDAXzpPK4oQ4CvI5TSTPa152OHCRPERByQm2nCP64tQUmp9X 9Ofd/40C9noe1M/S8qUV4BB3HdRpHIh65Z9v172Pt3+uEp0nn+3v+5NQvGFMjkpSBTlVLCEa0VX/l Qa/BBPoANNfFOsGdN48tA9PU2HjvFcYNjJ63TxY8PY8x4M7teMTO/pDzrY5Pqy4jCGYOmHX/WJEQT k8Vcw+1mCboW71RZSWaFvJCoHFhHp0clY3q0eKDi51+UPxOi2qzFQdZc2n48hPMgTMlON/Vvpwp+F gzy+jWRg==; Received: from [58.29.143.236] (helo=localhost) by fanzine2.igalia.com with utf8esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1tnITZ-0010Bb-RU; Wed, 26 Feb 2025 15:33:36 +0100 From: Changwoo Min To: tj@kernel.org, void@manifault.com, arighi@nvidia.com Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org, Changwoo Min Subject: [PATCH] sched_ext: Add trace point to track sched_ext core events Date: Wed, 26 Feb 2025 23:33:27 +0900 Message-ID: <20250226143327.231685-1-changwoo@igalia.com> X-Mailer: git-send-email 2.48.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add tracing support, which may be useful for debugging sched_ext schedulers that trigger a certain event. Signed-off-by: Changwoo Min Reviewed-by: Mukesh Kumar Chaurasiya --- include/trace/events/sched_ext.h | 21 +++++++++++++++++++++ kernel/sched/ext.c | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/include/trace/events/sched_ext.h b/include/trace/events/sched_= ext.h index fe19da7315a9..88527b9316de 100644 --- a/include/trace/events/sched_ext.h +++ b/include/trace/events/sched_ext.h @@ -26,6 +26,27 @@ TRACE_EVENT(sched_ext_dump, ) ); =20 +TRACE_EVENT(sched_ext_add_event, + TP_PROTO(const char *name, int offset, __u64 added), + TP_ARGS(name, offset, added), + + TP_STRUCT__entry( + __string(name, name) + __field( int, offset ) + __field( __u64, added ) + ), + + TP_fast_assign( + __assign_str(name); + __entry->offset =3D offset; + __entry->added =3D added; + ), + + TP_printk("name %s offset %d added %llu", + __get_str(name), __entry->offset, __entry->added + ) +); + #endif /* _TRACE_SCHED_EXT_H */ =20 /* This part must be outside protection */ diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index 986b655911df..825e79863057 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -1554,6 +1554,8 @@ static DEFINE_PER_CPU(struct scx_event_stats, event_s= tats_cpu); */ #define scx_add_event(name, cnt) do { \ this_cpu_add(event_stats_cpu.name, cnt); \ + trace_sched_ext_add_event(#name, \ + offsetof(struct scx_event_stats, name), cnt); \ } while(0) =20 /** @@ -1565,6 +1567,8 @@ static DEFINE_PER_CPU(struct scx_event_stats, event_s= tats_cpu); */ #define __scx_add_event(name, cnt) do { \ __this_cpu_add(event_stats_cpu.name, cnt); \ + trace_sched_ext_add_event(#name, \ + offsetof(struct scx_event_stats, name), cnt); \ } while(0) =20 /** --=20 2.48.1