From nobody Sat Jun 13 17:08:43 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (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 47F7736F41C; Wed, 6 May 2026 07:11:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778051503; cv=none; b=exq2adpE7CRIPD3SRx40xR2/5VQf0e1rWsgkzHjqLM0jWAG98sMWV31OUEBE8nAKlowPv7K6EdLWFDOeC1YgTH297rNXBk8hZmBfjzKfaCYMdVKb0okXDoUeMZAerLSVIz6YTqPGH8R4STO5NhGKUUJzy6vD/B575fI7KWzv3yY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778051503; c=relaxed/simple; bh=fENmWE93kzWPpjynSBSD9M7cLRRnHLqOIf7c2RfnyvQ=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=pjqpOAJC9H6xlZusLQ3IwlILyRu7xLBomJuSphOaa9+NdNkKNgc3afkourxcIQWjZ8RD99sDV3rYkh9j6hIlz2WC3gfrIH/h2tBQ0rZIK2MOvRSGnEFNFK26EE5Ea5z8o06Q+qS5JtJXyCJOJ3JYEcJr8Few7G/fKDnYi0a1aIg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=oyKDTrQ/; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=evPvMU3Y; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="oyKDTrQ/"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="evPvMU3Y" Date: Wed, 06 May 2026 07:11:38 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1778051499; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E1zGNwdlJCbcxlR7nmRhXUPdjTcu1JfFzN1D3F7bS3Q=; b=oyKDTrQ/1tMve0CkzU5oNfRdUrGz1+N+88qnaiWtlvNdVzT7K85EYS+bWy6MdFX2U3ApCg 5X4/N2vADDDPHsv0DCjy1TR0ndQwTO5ZXbS2Ow2v+sZM7FJqiON68TeJGwRLNNm2z2ys6o ms1CTAzP8XfivJ10MPeMqUVznnIOWIzsHPWKT6CvYKvBMYEteYaqZTDaRFD74oCIb9Jn2f V9NTRiLCjhx2LDsQtklhpP4097rHNmyV++RgC1+hLffapDnpH4TSlbwiO5ZqvzkUouCyxF MitP7mod0l3Pgf6ziIR39vyRUGRqj4qawe35m1TCD7bjOOF7OGo6BvcS2AwX9A== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1778051499; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E1zGNwdlJCbcxlR7nmRhXUPdjTcu1JfFzN1D3F7bS3Q=; b=evPvMU3YamM4mtzip5sZkZR7jh1kad4ZY2/HaTKf1xq8AOf8oIifNsxdm7mCuCO+Tnq2QD fLZ3HTwMpwQorwDA== From: "tip-bot2 for Frederic Weisbecker" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: timers/core] timers/migration: Handle capacity in connect tracepoints Cc: Frederic Weisbecker , Thomas Gleixner , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20260423165354.95152-6-frederic@kernel.org> References: <20260423165354.95152-6-frederic@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <177805149835.424702.15152096800903883373.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the timers/core branch of tip: Commit-ID: 5a7dfbcbbdb683e6f704966e73c02f4ba8eb6014 Gitweb: https://git.kernel.org/tip/5a7dfbcbbdb683e6f704966e73c02f4ba= 8eb6014 Author: Frederic Weisbecker AuthorDate: Thu, 23 Apr 2026 18:53:53 +02:00 Committer: Thomas Gleixner CommitterDate: Wed, 06 May 2026 08:33:07 +02:00 timers/migration: Handle capacity in connect tracepoints This let tracers know to which hierarchy a CPU belongs to. Signed-off-by: Frederic Weisbecker Signed-off-by: Thomas Gleixner Link: https://patch.msgid.link/20260423165354.95152-6-frederic@kernel.org --- include/trace/events/timer_migration.h | 24 ++++++++++++++---------- kernel/time/timer_migration.c | 4 ++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/include/trace/events/timer_migration.h b/include/trace/events/= timer_migration.h index 61171b1..0b135e9 100644 --- a/include/trace/events/timer_migration.h +++ b/include/trace/events/timer_migration.h @@ -33,15 +33,16 @@ TRACE_EVENT(tmigr_group_set, =20 TRACE_EVENT(tmigr_connect_child_parent, =20 - TP_PROTO(struct tmigr_group *child), + TP_PROTO(struct tmigr_hierarchy *hier, struct tmigr_group *child), =20 - TP_ARGS(child), + TP_ARGS(hier, child), =20 TP_STRUCT__entry( __field( void *, child ) __field( void *, parent ) __field( unsigned int, lvl ) __field( unsigned int, numa_node ) + __field( unsigned int, capacity ) __field( unsigned int, num_children ) __field( u32, groupmask ) ), @@ -51,26 +52,28 @@ TRACE_EVENT(tmigr_connect_child_parent, __entry->parent =3D child->parent; __entry->lvl =3D child->parent->level; __entry->numa_node =3D child->parent->numa_node; + __entry->capacity =3D hier->capacity; __entry->num_children =3D child->parent->num_children; __entry->groupmask =3D child->groupmask; ), =20 - TP_printk("group=3D%p groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_= children=3D%d", - __entry->child, __entry->groupmask, __entry->parent, - __entry->lvl, __entry->numa_node, __entry->num_children) + TP_printk("group=3D%p groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d capa= city=3D%d num_children=3D%d", + __entry->child, __entry->groupmask, __entry->parent, __entry->lvl, + __entry->numa_node, __entry->capacity, __entry->num_children) ); =20 TRACE_EVENT(tmigr_connect_cpu_parent, =20 - TP_PROTO(struct tmigr_cpu *tmc), + TP_PROTO(struct tmigr_hierarchy *hier, struct tmigr_cpu *tmc), =20 - TP_ARGS(tmc), + TP_ARGS(hier, tmc), =20 TP_STRUCT__entry( __field( void *, parent ) __field( unsigned int, cpu ) __field( unsigned int, lvl ) __field( unsigned int, numa_node ) + __field( unsigned int, capacity ) __field( unsigned int, num_children ) __field( u32, groupmask ) ), @@ -80,13 +83,14 @@ TRACE_EVENT(tmigr_connect_cpu_parent, __entry->cpu =3D tmc->cpuevt.cpu; __entry->lvl =3D tmc->tmgroup->level; __entry->numa_node =3D tmc->tmgroup->numa_node; + __entry->capacity =3D hier->capacity; __entry->num_children =3D tmc->tmgroup->num_children; __entry->groupmask =3D tmc->groupmask; ), =20 - TP_printk("cpu=3D%d groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_ch= ildren=3D%d", - __entry->cpu, __entry->groupmask, __entry->parent, - __entry->lvl, __entry->numa_node, __entry->num_children) + TP_printk("cpu=3D%d groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d capaci= ty=3D%d num_children=3D%d", + __entry->cpu, __entry->groupmask, __entry->parent, __entry->lvl, + __entry->numa_node, __entry->capacity, __entry->num_children) ); =20 DECLARE_EVENT_CLASS(tmigr_group_and_cpu, diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c index 03ae8c7..25e3c56 100644 --- a/kernel/time/timer_migration.c +++ b/kernel/time/timer_migration.c @@ -1752,7 +1752,7 @@ static void tmigr_connect_child_parent(struct tmigr_h= ierarchy *hier, struct tmig */ smp_store_release(&child->parent, parent); =20 - trace_tmigr_connect_child_parent(child); + trace_tmigr_connect_child_parent(hier, child); } =20 static int tmigr_setup_groups(struct tmigr_hierarchy *hier, unsigned int c= pu, @@ -1827,7 +1827,7 @@ static int tmigr_setup_groups(struct tmigr_hierarchy = *hier, unsigned int cpu, =20 tmigr_init_root(hier, group, activate); =20 - trace_tmigr_connect_cpu_parent(tmc); + trace_tmigr_connect_cpu_parent(hier, tmc); =20 /* There are no children that need to be connected */ continue;