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 DF58DC61DB3 for ; Thu, 12 Jan 2023 22:18:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DEA48E0003; Thu, 12 Jan 2023 17:18:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 366AB8E0002; Thu, 12 Jan 2023 17:18:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 207B18E0003; Thu, 12 Jan 2023 17:18:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0C74C8E0002 for ; Thu, 12 Jan 2023 17:18:06 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id CF2811C5E8D for ; Thu, 12 Jan 2023 22:18:05 +0000 (UTC) X-FDA: 80347560930.20.23F1448 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf03.hostedemail.com (Postfix) with ESMTP id E1E3720009 for ; Thu, 12 Jan 2023 22:18:03 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of "SRS0=ApYb=5J=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=ApYb=5J=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673561884; 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=NZT5pM4XIfKcIDwhRdrREutvrO1u8pXsogYEGOu7xBU=; b=V20tjHt4Q4vXZaMK3xPeMksblgfI7QrUo+jLFFRYspormmba5avcIUxLOqGIuBSFa7za9h BF+bp4F3SRs8T4vPcCMJNqid173LFEnxE1bk0LCk8B7An8kPOniaONiRO1Qr8rVLa04mmd JibVFIhR9rlZiWh+0Cwt1AadAvNlk5Q= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of "SRS0=ApYb=5J=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=ApYb=5J=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673561884; a=rsa-sha256; cv=none; b=EAEA/gXM+BXPqotq4RG48aXatIW35+p+NCVYm72YQL5bLtLn+7dZyxuA3S5+niwkBHn98M HLVCOXZMOuYhbqIOEUUXq0a84U74zBCTpetBguCDexypO0bigXunGI8+4r33y70AyW/7XR EMMb2yJFp0z0EnC+vSN27Vfkg09Xr9E= 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 dfw.source.kernel.org (Postfix) with ESMTPS id 6B6B7621BC; Thu, 12 Jan 2023 22:18:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2050C433EF; Thu, 12 Jan 2023 22:18:01 +0000 (UTC) Date: Thu, 12 Jan 2023 17:17:59 -0500 From: Steven Rostedt To: Matthew Wilcox Cc: lsf-pc@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, Joel Fernandes , Brian Norris , Ching-lin Yu Subject: Re: [LSF/MM/BPF TOPIC] tracing mapped pages for quicker boot performance Message-ID: <20230112171759.70132384@gandalf.local.home> In-Reply-To: References: <20230112132153.38d52708@gandalf.local.home> 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 X-Stat-Signature: 9k5hn9urju3zu5bzxtipapx7a4a1q5bk X-Rspam-User: X-Rspamd-Queue-Id: E1E3720009 X-Rspamd-Server: rspam06 X-HE-Tag: 1673561883-266589 X-HE-Meta: U2FsdGVkX19/fbW2ddS68CyOfI5bZcFXxX3Hmc6UpiH5pnM+TPJAJgy6NJejkNSsnJwqJchSzB/+pxvTQdgkpDYMzh2mFbgYaot/N0yo/ckwmvlLNBmjHtcDbiwSjvDNV6+l7QUajNn9bDVw6BRktn164C4XkuPvfZyR/6F53B1MquyU5Y1mnIYN6jSfbmSwgWjSzKJ0mxfzZFVy+hBRLrjBc5/nzrQaoGwXvseLn3CZzb+dxndoNODArhNH2tw/bgkAhvxXYnjVK7pCWLOvEXnvg93uWP80+4LHeS8kBkxJwu+K1C9F+PwEZ/AQ1J4JjBKPO0koWv56TyYdIYRiULmYSwW0Ev8VAi6LfCwJ2Mt7TbtKZF21FTPfzFybYXvzSi2S4Z6zrThJmOPrT78h4CwbRK/nAAN/XC1sSUmfDk5kf66NJoN4IvTV7Y6y49Yni/LmsZLRB6Enz4XgkhO0n9xdMN3oIvwqohwD90S0WqlxmfOnHpvTGy7q0vHlRY7TmYsV8UcRuCb2SERtMXS1pHqF9aJGoWl0PQZp4Bfnpg2qtyNgFvtIN8Wo+hxgkZPzGVybOU3RUvVjnqXWuSYxMsllIJEPBx3zj+/Rh8fQv3XzUBLEp/JthFslCVgOPSsR06VuaPrE6P5YqVyQyYTvQe9O7/Z7a74zWVJx2Ni31ZfnJHIlaJBWr2FOL3dcGj9EfzjqN6P2aiJZ4AehdvT68Nq8FGM45+oo0VWjwGV9MEW7sqYsrQKjxLOhh84nmmFGLeEQvKtnbr3NZlCrrRzmGO7nxQiThdEG2wLF7Lytv0pOWnDuQs0Sr+MIzWfu6/svNEFHai4/+ne8e83bv3lsQEkRQumhSKu1djEgTL2Tcm1JJavaBGjN/2PLhwPZnYYYk0/TCSTrV9KoqcV2oA5TNj7S4zRb8hTilQWq6sOelZS1QaU8HOZbDh3JpQ/4SW4UAVU15DtQ19/2l+jddKj SIz4sV/M 4SyNG8AhdBqxLTqaqJIBAeY5umxvQWo5/0f0zWWCm9YbQYgSBqxXkC6dBMwO40+4IL+XT7fV9azGYW3tY4hY1CzjtUBqeouMOt1F4 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 Thu, 12 Jan 2023 20:35:53 +0000 Matthew Wilcox wrote: > On Thu, Jan 12, 2023 at 01:21:53PM -0500, Steven Rostedt wrote: > > What I would like to discuss, is if there could be a way to add some sort > > of trace events that can tell an application exactly what pages in a file > > are being read from disk, where there is no such races. Then an application > > would simply have to read this information and store it, and then it can > > use this information later to call readahead() on these locations of the > > file so that they are available when needed. > > trace_mm_filemap_add_to_page_cache()? Great! How do I translate this to files? Do I just do a full scan on the entire device to find which file maps to an inode? And I'm guessing that the ofs is the offset into the file? (from a 5.10 modified kernel) <...>-177 [001] 13.166966: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a0 pfn=2586272 ofs=1204224 <...>-177 [001] 13.166968: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a1 pfn=2586273 ofs=1208320 <...>-177 [001] 13.166968: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a2 pfn=2586274 ofs=1212416 <...>-177 [001] 13.166969: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a3 pfn=2586275 ofs=1216512 <...>-177 [001] 13.166970: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a4 pfn=2586276 ofs=1220608 <...>-177 [001] 13.166971: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a5 pfn=2586277 ofs=1224704 <...>-177 [001] 13.166972: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a6 pfn=2586278 ofs=1228800 <...>-177 [001] 13.166972: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a7 pfn=2586279 ofs=1232896 <...>-177 [001] 13.166973: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a8 pfn=2586280 ofs=1236992 <...>-177 [001] 13.166974: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776a9 pfn=2586281 ofs=1241088 <...>-177 [001] 13.166979: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776aa pfn=2586282 ofs=1245184 <...>-177 [001] 13.166980: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776ab pfn=2586283 ofs=1249280 <...>-177 [001] 13.166981: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776ac pfn=2586284 ofs=1253376 <...>-177 [001] 13.166981: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776ad pfn=2586285 ofs=1257472 <...>-177 [001] 13.166982: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776ae pfn=2586286 ofs=1261568 <...>-177 [001] 13.166983: mm_filemap_add_to_page_cache: dev 259:5 ino 9b11 page=0x2776af pfn=2586287 ofs=1265664 The dev 259:5 is the root partition. Doing the following: $ printf "%d\n" 0x9b11 39697 $ sudo find / -xdev -inum 39697 /lib64/libc.so.6 I guess that's what I need to do. Thanks! I'll try it out. But I'd still like to have an invite as I have lots of other fun stuff to talk to you all about (mm, fs, and BPF) ;-) -- Steve