From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-176.mta1.migadu.com (out-176.mta1.migadu.com [95.215.58.176]) (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 DE8D319ABC6 for ; Sun, 11 Jan 2026 13:50:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768139402; cv=none; b=R9WFOe3H4Gqj6EDbcK25N9cRM7IhlJ5MBBMUn+a8ofVtGRmJzQsQ+yfvWWX6DsFJvWUrAIRYgPWNxN/j7wlEM9lEFFdkgben3LzTIyaPCm4g8pz6R5IVyavg26BVOG16PHxSCyXQJbY/0vf2zeCavF8WelZoMZ3WcOm2AEhfHz8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768139402; c=relaxed/simple; bh=0Y9cgqoUYrJEJj+577h/MQ74qDEghidTeDcxCuJVTGs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Y7iI0rc+3Uf4NGTJch/keL07TWlFMgN5rfxk7By6eiSzifoUl23+VhKAbyK8/XfTONTo3FynmiLNTlmHfHCay75jLC+TIf2kRaeUDXMSrnW8AbQQ9Au07v7qofD8I4mtVEC55LfuiDMt07lGw1UjPf3T9PNG9GsdjhvSd9o5a0I= 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=T9TWfqKF; arc=none smtp.client-ip=95.215.58.176 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="T9TWfqKF" Message-ID: <8c9ea6ab-02bf-4a79-bed2-2e7a0ecdfe67@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1768139399; h=from:from: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=7Adm6r/PtFXL8oCLEhoshU1gZmkvtKyb2foUdnTxZ1s=; b=T9TWfqKFoaeEkx50to+QpLq61lr25U9aRd7tztnGHMA0VoAxi5VtZ1Mlshmk0C9sfMLDn1 R0mN46aGHsHGb7kSNyZ2/vuy8tKdVUNtdymynrEgcJojBpvNga83A1NKTiVA7ESVhLDIrx 1yhcwMf07PWlng3ZvsZHUmcRImoqZLc= Date: Sun, 11 Jan 2026 21:49:47 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH mm-new v4 1/6] mm: khugepaged: add trace_mm_khugepaged_scan event Content-Language: en-US To: Vernon Yang Cc: lorenzo.stoakes@oracle.com, ziy@nvidia.com, akpm@linux-foundation.org, dev.jain@arm.com, baohua@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vernon Yang , david@kernel.org References: <20260111121909.8410-1-yanglincheng@kylinos.cn> <20260111121909.8410-2-yanglincheng@kylinos.cn> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Lance Yang In-Reply-To: <20260111121909.8410-2-yanglincheng@kylinos.cn> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT On 2026/1/11 20:19, 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 > Acked-by: David Hildenbrand (Red Hat) > Reviewed-by: Barry Song > --- > 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 4e41bff31888..3d1069c3f0c5 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_scan_finished), > + > + TP_ARGS(mm, progress, full_scan_finished), > + > + TP_STRUCT__entry( > + __field(struct mm_struct *, mm) > + __field(int, progress) Nit: progress should be unsigned int here, not int :) Otherwise, LGTM. Reviewed-by: Lance Yang > + __field(bool, full_scan_finished) > + ), > + > + TP_fast_assign( > + __entry->mm = mm; > + __entry->progress = progress; > + __entry->full_scan_finished = full_scan_finished; > + ), > + > + TP_printk("mm=%p, progress=%d, full_scan_finished=%d", > + __entry->mm, > + __entry->progress, > + __entry->full_scan_finished) > +); > + > #endif /* __HUGE_MEMORY_H */ > #include > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 9f790ec34400..2e570f83778c 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -2545,6 +2545,8 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, enum scan_result > collect_mm_slot(slot); > } > > + trace_mm_khugepaged_scan(mm, progress, khugepaged_scan.mm_slot == NULL); > + > return progress; > } >