From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta1.migadu.com (out-151.mta1.migadu.com [95.215.58.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04FAE3DAAA6 for ; Mon, 19 Oct 2026 04:23:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.151 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792383844; cv=none; b=R6RRNDXkN5dCCu+r7VGMiHfBECalzx7nP5gqBl1dwzKFzA1/jw+QC5L3+lyW+CewCei5H7OOYoLzJuN9DrygbMvGJUcugQshmBuq2xjq74/gE9OHoMdroaQ7EQGLijiSAsYyexELMwEv94hXjxH51AnVBgfceGcwwG8OTUn5d34= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792383844; c=relaxed/simple; bh=elfS6hA1ITVBtYwoie8MpKvEU/DpLK0c0+p5hdG0PyA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=I4YiGpZYitvgwQdq8m4LN7rbDSQlfn9+RVvvJtV8n4FLd/hyaJNU2N4AkuZw4g9kCdl0PEgFssYXZQGKztpZdHtJ0rfs25oP0is+xh6NN/vkIm1/41Rzzh2exp+wpmp6h2/OL/0gZfCD4Qwbkf8JoYEVkMvntDsKIcJ9NCgHnXU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=q7Gk/ubP; arc=none smtp.client-ip=95.215.58.151 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="q7Gk/ubP" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=elfS6hA1ITVBtYwoie8MpKvEU/DpLK0c0+p5hdG0PyA=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1792383836; v=1; x=1792988636; b=q7Gk/ubPKXqh94A+MDNly4IXXIFaLWQqnp8TN63faMB5Htau+o/MpF2skWTMvJIC5fL0aU4o Lcj9Pj3cOeTvLvfkoDKJYA9AP5ebTuZx3D7AYSjaEI66cdYO8JGqFbYiCtuYbZnwOE9FsXHl3fx Qn+zN4OXJjP26mDg3qfm7uLY= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 9cc758eab229d476; Mon, 19 Oct 2026 04:23:56 +0000 X-Mizu-Trace-ID: 9cc758eab229d476 X-Migadu-Flow: FLOW_OUT From: Ridong Chen To: Steven Rostedt , Masami Hiramatsu , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Dave Chinner Cc: Mathieu Desnoyers , Muchun Song , Qi Zheng , David Hildenbrand , Lorenzo Stoakes , Kairui Song , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , Baoquan He , Baolin Wang , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, bpf@vger.kernel.org, Ridong Chen , Ridong Chen Subject: [PATCH v4 7/9] mm/vmscan: pass scan_control to mm_vmscan_balance_pgdat_end Date: Mon, 19 Oct 2026 12:23:06 +0800 Message-Id: <20261019042308.2372396-2-ridong.chen@linux.dev> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20261019034426.2354049-1-ridong.chen@linux.dev> References: <20261019034426.2354049-1-ridong.chen@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Ridong Chen balance_pgdat() passes sc.order and sc.nr_reclaimed to mm_vmscan_balance_pgdat_end as bare arguments. Pass the enclosing struct scan_control instead and read the fields out in TP_fast_assign, consistent with the other reclaim tracepoints. highest_zoneidx stays a separate argument: it is a balance_pgdat() parameter, and sc.reclaim_idx may differ from it by the time the end event fires. No functional change. The tracefs event format (TP_STRUCT__entry and TP_printk) is unchanged, so tracefs-based consumers are unaffected. BPF programs attached via raw_tp/tp_btf see the new TP_PROTO and need to be adjusted; tracepoints are not a stable ABI (see Documentation/bpf/bpf_design_QA.rst). Assisted-by: LLM Signed-off-by: Ridong Chen --- mm/trace_vmscan.h | 9 ++++----- mm/vmscan.c | 3 +-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/mm/trace_vmscan.h b/mm/trace_vmscan.h index 54168ad45f6e..b2ad83e5f25e 100644 --- a/mm/trace_vmscan.h +++ b/mm/trace_vmscan.h @@ -124,10 +124,9 @@ TRACE_EVENT(mm_vmscan_balance_pgdat_begin, TRACE_EVENT(mm_vmscan_balance_pgdat_end, - TP_PROTO(int nid, int order, int highest_zoneidx, - unsigned long nr_reclaimed), + TP_PROTO(int nid, struct scan_control *sc, int highest_zoneidx), - TP_ARGS(nid, order, highest_zoneidx, nr_reclaimed), + TP_ARGS(nid, sc, highest_zoneidx), TP_STRUCT__entry( __field(int, nid) @@ -138,9 +137,9 @@ TRACE_EVENT(mm_vmscan_balance_pgdat_end, TP_fast_assign( __entry->nid = nid; - __entry->order = order; + __entry->order = sc->order; __entry->highest_zoneidx = highest_zoneidx; - __entry->nr_reclaimed = nr_reclaimed; + __entry->nr_reclaimed = sc->nr_reclaimed; ), TP_printk("nid=%d order=%d highest_zoneidx=%-8s nr_reclaimed=%lu", diff --git a/mm/vmscan.c b/mm/vmscan.c index 4bb00371a67f..5d699decaa28 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -7402,8 +7402,7 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx) psi_memstall_leave(&pflags); set_task_reclaim_state(current, NULL); - trace_mm_vmscan_balance_pgdat_end(pgdat->node_id, sc.order, - highest_zoneidx, sc.nr_reclaimed); + trace_mm_vmscan_balance_pgdat_end(pgdat->node_id, &sc, highest_zoneidx); /* * Return the order kswapd stopped reclaiming at as -- 2.34.1