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 D658AC38A2D for ; Mon, 24 Oct 2022 15:16:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B243940008; Mon, 24 Oct 2022 11:16:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 53B06940007; Mon, 24 Oct 2022 11:16:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DBA6940008; Mon, 24 Oct 2022 11:16:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2BB07940007 for ; Mon, 24 Oct 2022 11:16:20 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CE534AAA72 for ; Mon, 24 Oct 2022 15:16:19 +0000 (UTC) X-FDA: 80056194078.28.92B98F1 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf05.hostedemail.com (Postfix) with ESMTP id 2AA3A100004 for ; Mon, 24 Oct 2022 15:16:17 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id F1C31CE180E; Mon, 24 Oct 2022 15:16:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4AAC6C433C1; Mon, 24 Oct 2022 15:16:11 +0000 (UTC) Date: Mon, 24 Oct 2022 11:16:21 -0400 From: Steven Rostedt To: Gautam Menghani Cc: akpm@linux-foundation.org, mhiramat@kernel.org, zokeefe@google.com, shy828301@gmail.com, vbabka@suse.cz, david@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/khugepaged: add tracepoint to collapse_file() Message-ID: <20221024111621.3ba17e2c@gandalf.local.home> In-Reply-To: <20221024150922.129814-1-gautammenghani201@gmail.com> References: <20221024150922.129814-1-gautammenghani201@gmail.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of "SRS0=zv0B=2Z=goodmis.org=rostedt@kernel.org" designates 145.40.73.55 as permitted sender) smtp.mailfrom="SRS0=zv0B=2Z=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666624578; a=rsa-sha256; cv=none; b=vrsrEwCG/ytkGJjdRuLiUJPWVlJJxcGrMmmc213Fe8A/C/V5rRZyhTtJGa0dfWPaukSTWq JzDYqQWkKHpdslaZjELAqLhgzchxGlch8kcJcogpvPwKuHFeQWWGl72Mfcp3XV0NO+EhtW 9j8ywyOf+4qryWy9bE0sLsA8BE7dxz8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666624578; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yC3Z9X1MrSWPaCOdrM3rQf4v4UUMlxVFsOYWBORVgdw=; b=yeKAi6TCdlcsZGPaD4XIFoBWj/53gbS0B9TzXdKADfpCsw6+m61bOrFTll5UDBGUO00CUD Lc3852IZK65WW3fXHDc/ctuCGR21p/HUroYlVyyRfw+Van7mvwYeC5ji8sNW3wsHAJfXkJ d7Oe921MgjBx4GfBuouTgDrHIC9hve0= X-Rspamd-Queue-Id: 2AA3A100004 X-Rspam-User: Authentication-Results: imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of "SRS0=zv0B=2Z=goodmis.org=rostedt@kernel.org" designates 145.40.73.55 as permitted sender) smtp.mailfrom="SRS0=zv0B=2Z=goodmis.org=rostedt@kernel.org"; dmarc=none X-Rspamd-Server: rspam11 X-Stat-Signature: 6ckt31qc55qwafi8k81eh7y1b4t3nab6 X-HE-Tag: 1666624577-16440 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: On Mon, 24 Oct 2022 20:39:22 +0530 Gautam Menghani wrote: > +TRACE_EVENT(mm_khugepaged_collapse_file, > + TP_PROTO(struct mm_struct *mm, struct page *hpage, > + unsigned long addr, const char *filename, int nr, > + int result), > + TP_ARGS(mm, hpage, addr, filename, nr, result), > + TP_STRUCT__entry( > + __field(struct mm_struct *, mm) > + __field(unsigned long, hpfn) > + __field(unsigned long, addr) > + __string(filename, filename) > + __field(int, nr) > + __field(int, result) > + ), > + > + TP_fast_assign( > + __entry->mm = mm; > + __entry->hpfn = hpage ? page_to_pfn(hpage) : -1; > + __entry->addr = addr; > + __assign_str(filename, filename); > + __entry->nr = nr; > + __entry->result = result; > + ), > + > + TP_printk("mm=%p, hpage_pfn=0x%lx, addr=%ld, filename=%s, nr=%d, result=%s", > + __entry->mm, > + __entry->hpfn, > + __entry->addr, > + __get_str(filename), > + __entry->nr, > + __print_symbolic(__entry->result, SCAN_STATUS)) > +); > + > #endif /* __HUGE_MEMORY_H */ > #include > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 4734315f7940..14db90e2f2ec 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -2059,7 +2059,9 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > mem_cgroup_uncharge(page_folio(hpage)); > put_page(hpage); > } > - /* TODO: tracepoints */ > + > + trace_mm_khugepaged_collapse_file(mm, hpage, addr, file->f_path.dentry->d_iname, I try to keep dereferences out of the calling path as much as possible (adds to I$ at the call site). Could you just pass in file, and then have: __string(filename, file->f_path.dentry->d_iname) [..] __assign_string(filename, file->f_path.dentry->d_iname); If you are paranoid, you can have the above also be: file ? file->f_path.dentry ? file->f_path.dentry->d_iname : "(null)" : "(null)") -- Steve > + nr, result); > return result;