From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F02A8C369AB for ; Fri, 25 Apr 2025 00:24:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 36BE56B002A; Thu, 24 Apr 2025 20:24:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 319656B002C; Thu, 24 Apr 2025 20:24:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BBB66B002D; Thu, 24 Apr 2025 20:24:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EE8C96B002A for ; Thu, 24 Apr 2025 20:24:48 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9046FB6694 for ; Fri, 25 Apr 2025 00:24:49 +0000 (UTC) X-FDA: 83370670698.29.E869180 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf14.hostedemail.com (Postfix) with ESMTP id CD87B100008 for ; Fri, 25 Apr 2025 00:24:47 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Ad0W/lQV"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745540687; a=rsa-sha256; cv=none; b=gZ5PGl6VJCf0NNcqlqQJ8XdHyCqIlOTDkUgeDEI4JG3sEGFZTLKgZ8Iuv2DljtYzWb8j/p EYMVmP49gcuTNlddPwQHMSEiKv60Dzo56zV9wOwDi1WvJSkoeRzVWZsczkHxkMppmf+wm5 a9qixiHrt5moa0ESiIpqHLLYWiSqDuU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Ad0W/lQV"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745540687; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=zdDgie04YT94hofK4Se8gOgrrxDraTQTaQsWIulcSTc=; b=2v82GUH+hA+AeXyHw30lhFsHqJrb2kmR1We6BMytI/gd202+MBl+HBqoophjgFqEXEL+Q0 LU93h+lHQ4FcR2tVxR9O+1gE2ZP/UsBt0kOLFO/Uq3S6P/OrCiRkE1M0UT1kIX4loYwzqq wRmIy2cu2kPw7T8xgvq7rRPSgJcFfBo= Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-227c7e57da2so14216345ad.0 for ; Thu, 24 Apr 2025 17:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745540687; x=1746145487; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=zdDgie04YT94hofK4Se8gOgrrxDraTQTaQsWIulcSTc=; b=Ad0W/lQVSS2SPtovhr5yhugAspUX3SsdKahtdxnQRoHx/zn6JZk4q79+2y17fxeS2J jwvPiqZ6eNEFCs3mlIQLXLlJJkeEqbzkQZLGmekX/bOQbuCyqj8xdSwvh1qbSFE7Ei5f O/67eSIGH6IbC8X3TvQYa6mEdJ7tLpTuWT5pNQUi2LDZW/Vw+N8Ee+WaddmWLfk3UE2M 0kRRzHmgW4e9a5q/03XJbWaj6HelJfAube/1pVEsB8SuvIyzOqf4hOjtt6vnMAeojRPQ zaoBv+kDiXuu/05ry/N1i+vTjUpjUWAvVSh0y3aVGK0JQBDyH6tNi3RH1zVtmtNRp4+2 mB1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745540687; x=1746145487; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zdDgie04YT94hofK4Se8gOgrrxDraTQTaQsWIulcSTc=; b=EeQ/T7RyiFUpR2HlM9gEL43Vd7/+uzo3z078ORUEzhBxuKTkg8mpH13a1GSDOG+XBF cApVFXm+3SLT5ESO/mBa6irzKhzj0Yc1QwDys2DAYYnYsbctueL0NiXRA4Y4Lxsw216z sawLPpKHV9IO1UeXfWRYNiFNAwuzv2FgarrLAgmv3RlwPN/s8CwZVQ5cWbhhQslkWcaV uzW22XOqeYQ4kFqOU5ycdhhLHTzpF4UUViYcpQFNqF2zTF34r605voJ/awYKtPbwc/QQ Rivk9QgIw6xPVfBaoJZllUDu8iriepz3wZJ6SOdPaJb0I3Wy0KOHBzrBalxnesSuiRHe 6VpQ== X-Forwarded-Encrypted: i=1; AJvYcCWSDFphwedp1Qf2doDpAHPa3LKIbAZAVU2hfqTeG0n4QHFrACPf46Oj0zU3DsjzSoXpsK+CXENouA==@kvack.org X-Gm-Message-State: AOJu0Yz/I+vRYIgKuXeJl8pwM/Ne8CdjTSkkcNWPQQUj7RPj5PHH8ccy 32qzJqk/XNvVNghP101VLm4Cz3p0nvcbGX6SNWthQnsUjsd2BTvo X-Gm-Gg: ASbGnctmdQaHG2s2qmY2qxJQava9bOo7mNyzl9GwZj0zGsPPI5tQSpV023Ab4ot0Vbz R9jU35FAkwOwM6ItPHm99ZTOjFjL94KSwOA4OiNqEgEuN73QS41uEeOPCIzPXthS8fSXkL8qSNg UXNr62HlGwkCLwmC6RKhoVJw0Hjqu2Opf13BaYJhC/z9dF17jH9tXvAZGohc8i5uMMmO2cxkopK 2/98wZFBNxn/H7YpYWcI5z4bLQLeLArqtmYrauMCkYp7vdryen/6xh5eaWtLw85QyfmWMVIYmMa Jaf9Eluy9K5lIG0ykfKGNHaYofVQDj2NzyJYUcKgJhU9XCWYNmqgNPlwug== X-Google-Smtp-Source: AGHT+IEJkK+Pw3d14MEGnhCGVT09btAOCFjpnGjogjrrHSUjdVqw+z2nGhNMyX4vmlQgZ4kb+bl9Qw== X-Received: by 2002:a17:902:e542:b0:21f:2a2:3c8b with SMTP id d9443c01a7336-22dbf4d1a47mr4718935ad.11.1745540686617; Thu, 24 Apr 2025 17:24:46 -0700 (PDT) Received: from localhost.localdomain ([2601:646:8f03:9fee:5e33:e006:dcd5:852d]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db51022f8sm19956165ad.174.2025.04.24.17.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 17:24:46 -0700 (PDT) From: nifan.cxl@gmail.com To: rostedt@goodmis.org, mhiramat@kernel.org, willy@infradead.org Cc: akpm@linux-foundation.org, david@redhat.com, fan.ni@samsung.com, yang@os.amperecomputing.com, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org, npache@redhat.com, mcgrof@kernel.org, a.manzanares@samsung.com, dave@stgolabs.net, nifan.cxl@gmail.com, Baolin Wang Subject: [PATCH v3] khugepaged: Pass folio instead of head page to trace events Date: Thu, 24 Apr 2025 17:16:51 -0700 Message-ID: <20250425002425.533698-1-nifan.cxl@gmail.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: CD87B100008 X-Rspamd-Server: rspam04 X-Stat-Signature: 35nc8bdr5fjmd99mca936kjpu7zfh1a6 X-HE-Tag: 1745540687-764491 X-HE-Meta: U2FsdGVkX1+NaKU5ajugJJMxOkvAzFJBaaTy7BIZ5c/f1hxrNkFjdv8NMhW+0fx/0mYjM67BX+x/2IJ48Kq/sWIeWMTnj2QJynahY2Ro5YslFVOBIcKbwJzFnwpvXK5j1PDj+SKw/a/xEMPVY8WNvmiyzN3O34b4EVKBIsyWqHxTbV0druiaWrpuVOF77g5XPyv5uis3yA8LSfUYLBJMnBAAOs+gUKiBfQ8k6rbooAwfCMUYWycKu0G+EZdLCeLkuWlmMbh7ODed02REE91wn2j5uUfHqTFxjdRdOLtdkY5bGSuF/0dlRgdpRgJw8ko/BUhtvHbJh0g8I2bZygb7pWZrfmXQjvpq0pX6I8aG1XqqTp82u17puEo2tSUXhOJsoHHFRZPDqxnV/S5mKL4A8EYOI3veUcjWX9Uxmeraz4AOmMGXC/+oElkGmWz8+dDAz0sDS4gSIN9xRoch/Q//DQnpVOgCQ0VBtgnsmcIpaXqey7/3o9M3/G1gHZS3akjPAHq/KcYCV/nh6GmcVuhT/OZEaBo6YDHFyqM0agi5oSp1dtWUi8kjk5D30i8BHg3j6j0D0hRNIB6R55Ya5QkXhrtZlywnBF7qqbV3iZ/7MtodkFe2+CA3ZM6Dx1DfC8tDgZfBjZreh/n0OnF23L5o3nir/YeQ7fx9qHu609uQvERbtgC4vXsMMtThX0sY28SOkUinjgFqQQ6vNe0K/E+NrnaboLeeyZcfutPWDqxzwLhtmlcLrrZf6zCQ3xN5BtVoGMpLg5oFny74Tvq2L1qMNhwBNrDvmdPglyTJY4DyDCIXvLgPqjtQ/7yq8VLe4si22Ux+mudv7amqvxKcmQ6ClxfXotZESFGVAIb3XcaYAY1vx0VzJvmEk/8n6uT2IrawO2VPXL/1fY9Auh3Ztqzns7auUoUg7k4jgAZX38IIyCwlQAoM5Zr9gEfpJaBPD2BPlgaVxOWi38xur3sbyeN mUaNz7Wi vj/J400/yFBITzJQfvDBlOgp6NAvSpH/dcPRgCvT0UY7RtG7XsO+9lQnF1PM35msDzRJJlrKHFNTKZh00O5VDzkqwzgzRzoGsjmhV+EfUyNtlYKTcltU+dBoFS5YPJSS7SLkdsBy1EY6pJ5ZiGKnKD9+wVw526OGhRjMt2lwGnKIjdkucxALo6ymIpm+LOKWiVCy8x6Bw70lUPrJuB92AlS4ivu82NRw87QIKNZRhRfl61RXGs/dTWWPNY3t7hHVhpccncBCvtENbxUe0ddTrWGYhXsFDuFalIScYfyqEVVrYFooC4GnoJhs/90rlfWMQsAbYya2hEu90iKY+iawPTn4AeOsCWFgaSPY2y06r8dGgdUkA05ss75p6Kys5ewCqxQH2MEZ9FdtjSl1SFq13T/B4Itv2hVHZH5ZiUT/kRZ1tttZOvo/d8YfK72dz2Kb0In0DPg86Zhu+KE2nvuFnWC5IfrqsaIy4GteGNbV5RrGpo8wN8MSOf8U5sBWajmJ8fxDYKHpeLunploU5lp/1y1P/1fn85Wb2nR2y7sSFbJL0xTKhCDCxSgxJnIoxuTY5B/6hQRh2LOpgDmitugOPtGhnsxvj3Cb8Y/XCXVb2LsE3bZOn/7EmN/+MFzRKeJIgIGJfjETMIwvJCMw40L8Z6RNM/7agwSr5oa1coTdmEWuAD2JU3Xe/2dHFaez9okwx5rav X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Fan Ni The trace functions trace_mm_collapse_huge_page_isolate() and trace_mm_khugepaged_scan_pmd() each have a single user, which always passes in the head page of a folio. Refactor both functions to take a folio directly. Signed-off-by: Fan Ni Reviewed-by: Nico Pache Reviewed-by: Davidlohr Bueso Reviewed-by: Baolin Wang Reviewed-by: Yang Shi Acked-by: David Hildenbrand --- v3: 1) No functional change compared to v2; 2) Picked up tags; 3) Squashed the two patches in v2 into one based on Yang Shi and David Hildenbrand's feedback; 4) Reword the commit log to reflect the squash. v2: https://lore.kernel.org/linux-mm/20250418183920.273154-1-nifan.cxl@gmail.com/ --- include/trace/events/huge_memory.h | 12 ++++++------ mm/khugepaged.c | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h index 9d5c00b0285c..2305df6cb485 100644 --- a/include/trace/events/huge_memory.h +++ b/include/trace/events/huge_memory.h @@ -55,10 +55,10 @@ SCAN_STATUS TRACE_EVENT(mm_khugepaged_scan_pmd, - TP_PROTO(struct mm_struct *mm, struct page *page, bool writable, + TP_PROTO(struct mm_struct *mm, struct folio *folio, bool writable, int referenced, int none_or_zero, int status, int unmapped), - TP_ARGS(mm, page, writable, referenced, none_or_zero, status, unmapped), + TP_ARGS(mm, folio, writable, referenced, none_or_zero, status, unmapped), TP_STRUCT__entry( __field(struct mm_struct *, mm) @@ -72,7 +72,7 @@ TRACE_EVENT(mm_khugepaged_scan_pmd, TP_fast_assign( __entry->mm = mm; - __entry->pfn = page ? page_to_pfn(page) : -1; + __entry->pfn = folio ? folio_pfn(folio) : -1; __entry->writable = writable; __entry->referenced = referenced; __entry->none_or_zero = none_or_zero; @@ -116,10 +116,10 @@ TRACE_EVENT(mm_collapse_huge_page, TRACE_EVENT(mm_collapse_huge_page_isolate, - TP_PROTO(struct page *page, int none_or_zero, + TP_PROTO(struct folio *folio, int none_or_zero, int referenced, bool writable, int status), - TP_ARGS(page, none_or_zero, referenced, writable, status), + TP_ARGS(folio, none_or_zero, referenced, writable, status), TP_STRUCT__entry( __field(unsigned long, pfn) @@ -130,7 +130,7 @@ TRACE_EVENT(mm_collapse_huge_page_isolate, ), TP_fast_assign( - __entry->pfn = page ? page_to_pfn(page) : -1; + __entry->pfn = folio ? folio_pfn(folio) : -1; __entry->none_or_zero = none_or_zero; __entry->referenced = referenced; __entry->writable = writable; diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 5cf204ab6af0..b04b6a770afe 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -696,13 +696,13 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma, result = SCAN_LACK_REFERENCED_PAGE; } else { result = SCAN_SUCCEED; - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, referenced, writable, result); return result; } out: release_pte_pages(pte, _pte, compound_pagelist); - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, referenced, writable, result); return result; } @@ -1435,7 +1435,7 @@ static int hpage_collapse_scan_pmd(struct mm_struct *mm, *mmap_locked = false; } out: - trace_mm_khugepaged_scan_pmd(mm, &folio->page, writable, referenced, + trace_mm_khugepaged_scan_pmd(mm, folio, writable, referenced, none_or_zero, result, unmapped); return result; } -- 2.47.2