From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 03FD31DD889 for ; Thu, 18 Dec 2025 09:24:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766049850; cv=none; b=RrDddkAAO+N7Lb2tij18JakCQqhFUo+95PNcEihmdeB/PxQXg6zGuo6C0DzrnGcusY6AJSeCNSa6Sow2X2JaZMd2Vx7xD43PjuviiRkYV174xOaRHN3XkieV4LbkglBbKwBplYfdFs/kUliBAQc2xyC2qbkpIaI4XQRnMrxb2gk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766049850; c=relaxed/simple; bh=xG6w3fio6dKWuk97Zku7z65Al4P60C9/eHgl56AJCqM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=QXAVLXmqCYdfaoRoSCXGUR4svD56NLuu/BfasMZXxmcRVwcrVVC2bLYBTMwZzAwP72pL2vKBcvxrZjOxM7tsv6QKOKUVXWqqY9n3g+LKsylOouDxbWomuJQzGU4im/FgpWQNy3g2rQ0++ayzPYG1v0NoRbVtnkITp3d6HHelBLo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U4qQOG8M; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U4qQOG8M" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7AC05C4CEFB; Thu, 18 Dec 2025 09:24:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1766049849; bh=xG6w3fio6dKWuk97Zku7z65Al4P60C9/eHgl56AJCqM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=U4qQOG8M/4YSGXJXhPf/Ht6cdkKIq/PjQRlLodfjxj11Rk0saqUhH/k2iQTzcRFJM QkFtJr7rR20/MYu/HfyDWKO1tsycGHTcXT3l3Ox3hzUKkQJYhYhu1TOebee1twQQDx 6kS80h28IogzsQrlgGx0JHvItuBokvNTLoOOqTc7jfmlljUrLjfc8C07+xArsHgVBn y5qmgIOcJfZhICYY2HkqSAxxN/9BULpaIiScXDqsueOLmOiZuG7Xv7P7ih26LdQw7E hH0GR+YeB4L3yzprgxZG6WTtuqd59XkrfhJfNdNY/zGagswXZvZ54+Lcmrjj0qJ2rb CGFzquffZA6Xw== Message-ID: <83f303d6-ab03-4e28-95ab-04c5e879a916@kernel.org> Date: Thu, 18 Dec 2025 10:24:05 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/4] mm: khugepaged: add trace_mm_khugepaged_scan event To: Vernon Yang , akpm@linux-foundation.org, lorenzo.stoakes@oracle.com Cc: ziy@nvidia.com, npache@redhat.com, baohua@kernel.org, lance.yang@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vernon Yang References: <20251215090419.174418-1-yanglincheng@kylinos.cn> <20251215090419.174418-2-yanglincheng@kylinos.cn> From: "David Hildenbrand (Red Hat)" Content-Language: en-US In-Reply-To: <20251215090419.174418-2-yanglincheng@kylinos.cn> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/15/25 10:04, Vernon Yang wrote: > Add mm_khugepaged_scan event to track the total time for full scan > and the total number of pages scanned of khugepaged. > > Signed-off-by: Vernon Yang > --- > include/trace/events/huge_memory.h | 24 ++++++++++++++++++++++++ > mm/khugepaged.c | 2 ++ > 2 files changed, 26 insertions(+) > > diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h > index dd94d14a2427..b2824c2f8238 100644 > --- a/include/trace/events/huge_memory.h > +++ b/include/trace/events/huge_memory.h > @@ -237,5 +237,29 @@ TRACE_EVENT(mm_khugepaged_collapse_file, > __print_symbolic(__entry->result, SCAN_STATUS)) > ); > > +TRACE_EVENT(mm_khugepaged_scan, > + > + TP_PROTO(struct mm_struct *mm, int progress, bool full), > + > + TP_ARGS(mm, progress, full), > + > + TP_STRUCT__entry( > + __field(struct mm_struct *, mm) > + __field(int, progress) > + __field(bool, full) > + ), > + > + TP_fast_assign( > + __entry->mm = mm; > + __entry->progress = progress; > + __entry->full = full; > + ), > + > + TP_printk("mm=%p, progress=%d, full=%d", > + __entry->mm, > + __entry->progress, > + __entry->full) > +); > + > #endif /* __HUGE_MEMORY_H */ > #include > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index abe54f0043c7..0598a19a98cc 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -2516,6 +2516,8 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, int *result, > collect_mm_slot(slot); > } > > + trace_mm_khugepaged_scan(mm, progress, khugepaged_scan.mm_slot == NULL); > + > return progress; > } > Nothing jumped at me, except that "full" could be called "full_scan_finished" or smth like that. Acked-by: David Hildenbrand (Red Hat) -- Cheers David