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 2588FC4332F for ; Fri, 2 Dec 2022 20:18:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 562456B0071; Fri, 2 Dec 2022 15:18:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5122E6B0072; Fri, 2 Dec 2022 15:18:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DBF16B0073; Fri, 2 Dec 2022 15:18:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2A5FF6B0071 for ; Fri, 2 Dec 2022 15:18:21 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E829D80FF7 for ; Fri, 2 Dec 2022 20:18:20 +0000 (UTC) X-FDA: 80198478360.23.289E16A Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf13.hostedemail.com (Postfix) with ESMTP id 9072520003 for ; Fri, 2 Dec 2022 20:18:20 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=X3QLxOn1; spf=pass (imf13.hostedemail.com: domain of gautammenghani201@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=gautammenghani201@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670012300; a=rsa-sha256; cv=none; b=OEj9tAdwJkaDGsXaBRA1D18JHQ1aWpXSDgjKnr2mbB9/tk30ooUE3fboN8gNMeK1G39PcE rAZkd3ZtCVePwNrD225lY8HFhmV9/WiSDdx89UYQKM9a4jR8DMYFUxXKBdeDzm83NIx2KN g8KyWCmB+sVLlgtuBSCpOqaE/21yhzE= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=X3QLxOn1; spf=pass (imf13.hostedemail.com: domain of gautammenghani201@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=gautammenghani201@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670012300; 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=JlxbiiFsWdDqrJ8JxFSTusC0S+OriMX0V/gFk42PKp8=; b=EdNnhjhMIchXvF+NLP+B4HBs6mfqiYbXgL2PvxYFTb+3I/ZFCPb9XIJr6O+Kvll/6zgupN LmrANz6yVA42fwqaBB4MJCQfgpWtvwiNIimrRfu5NO8UK5epB7WPJGrT78cZSqMWFNFW++ 0b080qyv6DjmmQyZy6S0pqGfI+FM8tI= Received: by mail-pj1-f45.google.com with SMTP id b13-20020a17090a5a0d00b0021906102d05so6094324pjd.5 for ; Fri, 02 Dec 2022 12:18:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JlxbiiFsWdDqrJ8JxFSTusC0S+OriMX0V/gFk42PKp8=; b=X3QLxOn1qjig7LtO7aliP1TmeLmdtTMgynji6s9IuVKW9O4UwyaoeYzkUFps3JNTpQ WhaAiNNldV8Bol0CUGvrfQOjlieun9JSabXCLhIbGsCraSnxidzEC25ME1L/JPj/EfKM wrj50X+yoxnLOkahZMyKB6nL/T4QRlwhs6tAsoE+k9j21M8YymZt/4smwOMUqyE8hLcS g+MNiutitd5h0jOsxjf7JqXjCwmVLreY3G9Gi7wn/MTLAASABuqC51I2KOWzXeRmkGTh mmYRpyA7+4hEFqX6FgbYJvy27zhGty4OTOTQfD9OGWjyPSx457hhpOCVHibn7Oek0nrU tmHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=JlxbiiFsWdDqrJ8JxFSTusC0S+OriMX0V/gFk42PKp8=; b=7jsYQ7O5OwCtp2+GcM3EasxWPffkblalkzb1SzS1sC5gmBxqXWkoGIvnLYiTFfoHwn ydto1bpdKPKDpKbSq7GKA2M52jcax9V493/tj1ciezIPBMPv1exj7OlsREFTIxEgrYbB TXLPsd3c8PV2hcavhfJWE6PcwmUUfz5QpvZ1YcGbwXXB3MSrv+B9ZduxAD81P9G5aREt fwgZSi4A+7TLFM6cLRTzgjq8+I03bqyBkUreWh+RXnWAwpaUTm4SNY0qgvluPmCFzfA/ 5qrkNVce9j0oAwQ1DProAQ9zTvDnibw6ZQ6tP6BeaJdJUjCztiOvjZ5ULPOczSlbzoBo nnHQ== X-Gm-Message-State: ANoB5pmhuF9H2wQoX7YNAJQolh4duYhy8OczaJnzXi6HJrWMQ5A+1ZmG tbtR/8ie7PYyTWe6xydrOJk= X-Google-Smtp-Source: AA0mqf5lwtORbemSWYSfZgRXy5unWou9iB45CvfkeSCHerlZ8w272EPvEdUKxNauf3GIlLDOGvWrSw== X-Received: by 2002:a17:902:8503:b0:188:e49e:2668 with SMTP id bj3-20020a170902850300b00188e49e2668mr57636232plb.125.1670012299344; Fri, 02 Dec 2022 12:18:19 -0800 (PST) Received: from biggie.. ([103.230.148.191]) by smtp.gmail.com with ESMTPSA id j3-20020a170902da8300b001714e7608fdsm5939662plx.256.2022.12.02.12.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 12:18:18 -0800 (PST) From: Gautam Menghani To: rostedt@goodmis.org, mhiramat@kernel.org, akpm@linux-foundation.org, shy828301@gmail.com, zokeefe@google.com, vbabka@suse.cz, david@redhat.com Cc: Gautam Menghani , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v4] mm/khugepaged: add tracepoint to collapse_file() Date: Sat, 3 Dec 2022 01:48:07 +0530 Message-Id: <20221202201807.182829-1-gautammenghani201@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Spamd-Result: default: False [1.68 / 9.00]; BAYES_HAM(-5.92)[99.82%]; SORBS_IRL_BL(3.00)[209.85.216.45:from]; R_MISSING_CHARSET(2.50)[]; SUBJECT_HAS_UNDERSCORES(1.00)[]; MID_CONTAINS_FROM(1.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_NO_TLS_LAST(0.10)[]; BAD_REP_POLICIES(0.10)[]; PREVIOUSLY_DELIVERED(0.00)[linux-mm@kvack.org]; R_DKIM_ALLOW(0.00)[gmail.com:s=20210112]; RCPT_COUNT_SEVEN(0.00)[10]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; R_SPF_ALLOW(0.00)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_ALLOW(0.00)[gmail.com,none]; TO_MATCH_ENVRCPT_SOME(0.00)[]; ARC_SIGNED(0.00)[hostedemail.com:s=arc-20220608:i=1]; DKIM_TRACE(0.00)[gmail.com:+]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[] X-Rspamd-Queue-Id: 9072520003 X-Rspamd-Server: rspam01 X-Stat-Signature: rddg7zk6gxbp3cpq15wyb4jj1j5b3fac X-HE-Tag: 1670012300-162854 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: Currently, is_shmem is not being captured. Capturing is_shmem is useful as it can indicate if tmpfs is being used as a backing store instead of persistent storage. Add the tracepoint in collapse_file() named "mm_khugepaged_collapse_file" for capturing is_shmem. Signed-off-by: Gautam Menghani --- changes in v2: 1. Move filename dereference out of calling path (Steven Rostedt). 2. Capture is_shmem and index (Zach O'Keefe) changes in v3: 1. Initialize the variables to resolve clang warning. 2. Add more info in changelog. changes in v4: 1. Swap is_shmem and addr to save space (Steven Rostedt) include/trace/events/huge_memory.h | 38 ++++++++++++++++++++++++++++++ mm/khugepaged.c | 7 +++--- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h index 935af4947917..f06a255d7ec8 100644 --- a/include/trace/events/huge_memory.h +++ b/include/trace/events/huge_memory.h @@ -203,5 +203,43 @@ TRACE_EVENT(mm_khugepaged_scan_file, __print_symbolic(__entry->result, SCAN_STATUS)) ); +TRACE_EVENT(mm_khugepaged_collapse_file, + TP_PROTO(struct mm_struct *mm, struct page *hpage, pgoff_t index, + bool is_shmem, unsigned long addr, struct file *file, + int nr, int result), + TP_ARGS(mm, hpage, index, addr, is_shmem, file, nr, result), + TP_STRUCT__entry( + __field(struct mm_struct *, mm) + __field(unsigned long, hpfn) + __field(pgoff_t, index) + __field(unsigned long, addr) + __field(bool, is_shmem) + __string(filename, file->f_path.dentry->d_iname) + __field(int, nr) + __field(int, result) + ), + + TP_fast_assign( + __entry->mm = mm; + __entry->hpfn = hpage ? page_to_pfn(hpage) : -1; + __entry->index = index; + __entry->addr = addr; + __entry->is_shmem = is_shmem; + __assign_str(filename, file->f_path.dentry->d_iname); + __entry->nr = nr; + __entry->result = result; + ), + + TP_printk("mm=%p, hpage_pfn=0x%lx, index=%ld, addr=%ld, is_shmem=%d, filename=%s, nr=%d, result=%s", + __entry->mm, + __entry->hpfn, + __entry->index, + __entry->addr, + __entry->is_shmem, + __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..921407e2006d 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1702,12 +1702,12 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, { struct address_space *mapping = file->f_mapping; struct page *hpage; - pgoff_t index, end = start + HPAGE_PMD_NR; + pgoff_t index = 0, end = start + HPAGE_PMD_NR; LIST_HEAD(pagelist); XA_STATE_ORDER(xas, &mapping->i_pages, start, HPAGE_PMD_ORDER); int nr_none = 0, result = SCAN_SUCCEED; bool is_shmem = shmem_file(file); - int nr; + int nr = 0; VM_BUG_ON(!IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && !is_shmem); VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); @@ -2059,7 +2059,8 @@ 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, index, is_shmem, addr, file, nr, result); return result; } -- 2.34.1