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 44B9BC76196 for ; Fri, 17 Mar 2023 21:21:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 705306B0075; Fri, 17 Mar 2023 17:21:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68DDB6B0078; Fri, 17 Mar 2023 17:21:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52E996B007B; Fri, 17 Mar 2023 17:21:37 -0400 (EDT) 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 3D8756B0075 for ; Fri, 17 Mar 2023 17:21:37 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 063D940641 for ; Fri, 17 Mar 2023 21:21:37 +0000 (UTC) X-FDA: 80579661834.29.FD11075 Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173]) by imf28.hostedemail.com (Postfix) with ESMTP id 61B5AC0004 for ; Fri, 17 Mar 2023 21:21:35 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=wnouQv66; spf=none (imf28.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679088095; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=duOFugondzlaZ1LXs5SvSoE1GdiyBhAvkTn/kwjW458=; b=K2So2Vb6hBZh5O0k0XedxJ+sWB4diL2KXw9Hz5JNgg4WRp3eNpAH79taRduD4hzKW0y+BA qz7ADBVaABH+pNk4w/Kp7nYsvQ5+lbdVqKQ3IlAwM0oJUSEMKMs73CiaJE5Mp26TQWX7vX a/ZSxC4cy5FPRSu2GUNC7+c9LDo6PB4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=wnouQv66; spf=none (imf28.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679088095; a=rsa-sha256; cv=none; b=bsItVtx25QoTne/hvzEoLxGkZqF2XRliQc1hQQaUT+GtXo75jx4GGoJz8Sx1nbeF8pRDy+ u3+ZRhjn3zF4id/KYnIHb5jxhDs7JQm2n12HN0gvHE6tKyGMaMngZBnyGHxZ8qonG1Bd1X zo/XIs84pza7OfuDowXAoSyGRMZ/Fdg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=duOFugondzlaZ1LXs5SvSoE1GdiyBhAvkTn/kwjW458=; b=wnouQv66go+XZKFt6FiBvqDO04 LVtyKHJ2HgYBufa0+kc6sTVmgZMMjxCD8ZsrZjgRaglj+sT5Xz/61hyAwEwgyGmLuey30ZVtGx0m6 PsSrBbxJEWXjTM6eNrpy0CADjWlTKs6+9GfcbHCD8zQua7AdutO3t2a85JXqhE0j+cwzAOzWKIlVg 0Nw6Xcg9afMr9857QMdq4UGdwUavgBU9Gi+pdbvC7lCOI50gkE1Tj4efa24j2Lyi6ztzuDcbTL16r hCO9B213xgf9DM3cjfkAagTUX76GmtKR249ZvCLURhfYGI1VBCK8m2NCGVE7pAsIDA+sKutey8v2u h5/trWwg==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat Linux)) id 1pdHVt-00HSwS-0B; Fri, 17 Mar 2023 21:21:25 +0000 Date: Fri, 17 Mar 2023 21:21:25 +0000 From: Al Viro To: Andrii Nakryiko Cc: Matthew Wilcox , Ian Rogers , Jiri Olsa , Alexei Starovoitov , Andrii Nakryiko , Hao Luo , Andrew Morton , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , bpf@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-perf-users@vger.kernel.org, Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Daniel Borkmann , Namhyung Kim , Dave Chinner Subject: Re: [PATCHv3 bpf-next 0/9] mm/bpf/perf: Store build id in file object Message-ID: <20230317212125.GA3390869@ZenIV> References: <20230316170149.4106586-1-jolsa@kernel.org> <20230317211403.GZ3390869@ZenIV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230317211403.GZ3390869@ZenIV> X-Stat-Signature: ppohnzijzywhiiiwt8wrn9hh4ncs8cks X-Rspam-User: X-Rspamd-Queue-Id: 61B5AC0004 X-Rspamd-Server: rspam06 X-HE-Tag: 1679088095-594796 X-HE-Meta: U2FsdGVkX1/62rSlj3IfBTNFYIqUQxl9yH61nB8Qjs+K7rQEdVD/lwPzFSHhN0UBpjBWQXu0Mx7dqSB1jIYmUUZRfrDuP1mX1KQyr1oqEYIlOlQ8oJJPaHtOgcpOdt29/lYJqOG9j5oriXJidQxZI/lE3L99Yp+nO+8a2h76kaSzwty8Vu10Md2WUnmCLZnzdUSaz44N+oy3Dy4hrTq7BXu2fwD2rK7ybjeo+afetqHboa6hR8+oLVQemHXgcwRi8HwpAf3bBroSsW9Kd+vZ5wLf9lG+Pvl+T5OxNBHrG2gL3XrslyNtmnSTGt3DxVXRGXIpPuk+8fC9SuMMCvOdnCVY7KolN/n4xQqnqJCwV+fMoRbipnwCNlgoBcWRiBWRJQuAic4C76xhvMvh44IdPPS7SVxujnzzSz/eAUns/8unGLoHjdwSm0F5oU24+Sx+fIWdf4hUDMTg18wISfVsBN17rz0/GvzXiCH94GOoG6kZNCy0zlQZkCMyahzWEOsLOC1UP8byG0kdPA5PauQOsL1mzNQDsCxB1+byVMAvBEL5EtY5344VScMFqwA0cAJAqGr5suDZTkTOm3+fj+wwn8KdYBRRRqs8Q5SE/bzL5+OLfSIrBsXZTXHA2VO8CTIkfr6tRQmfzCeLz1Dk66c1J+RrCwJNVKbSUDZlM1OWbsA+jC9HQa4vFQ1cmWA9JqvNFImvsd64mOozWJ8cg/6P6XLxQ+tmZHYQffCTph3vESHuUp5IZT9tCEwxVI+ZzrFT/vEcEbj/IvwsxQ1tT8h4CmWvqcijA1i9mWoE9ca7PvixsAxNMYkzhytiMA2Pa42XH+lQhBS8Py+AK6fb51J5pcKhWkG7zSeiv9jrizGlCUQ/9R1W6VMklCcxKcV9znOXhY+bVE9xcazwkBS30jpX4i5zXxdqEHtG4AaksuHg56VKyP6/D4AUt/UbOq2rirmkCTh3vNUCBDzRg/FK4z1 TaB6UWAO 1Cflr8KT6ul9x7Oq5/3gIjRcwzthOY4GHgtUxkCW6ftGViR3fKm33INFTigmpi1ZqS6XFt4Aixg0/k8rpS7KyXHINVP6O/pe5M+cy7Qr/hD3uoNtVzJ0+51w/oRSWKlZ2dhP40MAY6TDWGErywv0Y7R7lQwwC4+GICsqQ3s+Ld7zo+rQ7/Ti/en0MHd4RXJ2DESrXra1KxdGvbfAKskBv2KZshHK6XZ/Qly8/5GkPvFDooHZTAxG7kAj7xx0o5ikWOx1hkIKjSRro/3HgHnXlGnxuR+cstPWG0fsmTk5F9z7DM0g5Jz+ZGN1lYdbYtkQMYNqgbJ5gvDnh+dbGB5UFHpF4eg26RxFquT3CKQztpej0OIxJ+655yY46rLfE/GPYyUKCoy1b6Alqkr/wPrkpqpxWzUnsOMiPMRCv7p2YIdC0jfZXdGihcTMn0Q== 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 Fri, Mar 17, 2023 at 09:14:03PM +0000, Al Viro wrote: > On Fri, Mar 17, 2023 at 09:33:17AM -0700, Andrii Nakryiko wrote: > > > > But build IDs are _generally_ available. The only problem (AIUI) > > > is when you're trying to examine the contents of one container from > > > another container. And to solve that problem, you're imposing a cost > > > on everybody else with (so far) pretty vague justifications. I really > > > don't like to see you growing struct file for this (nor struct inode, > > > nor struct vm_area_struct). It's all quite unsatisfactory and I don't > > > have a good suggestion. > > > > There is a lot of profiling, observability and debugging tooling built > > using BPF. And when capturing stack traces from BPF programs, if the > > build ID note is not physically present in memory, fetching it from > > the BPF program might fail in NMI (and other non-faultable contexts). > > This patch set is about making sure we always can fetch build ID, even > > from most restrictive environments. It's guarded by Kconfig to avoid > > adding 8 bytes of overhead to struct file for environment where this > > might be unacceptable, giving users and distros a choice. > > Lovely. As an exercise you might want to collect the stats on the > number of struct file instances on the system vs. the number of files > that happen to be ELF objects and are currently mmapped anywhere. > That does depend upon the load, obviously, but it's not hard to collect - > you already have more than enough hooks inserted in the relevant places. > That might give a better appreciation of the reactions... One possibility would be a bit stolen from inode flags + hash keyed by struct inode address (middle bits make for a decent hash function); inode eviction would check that bit and kick the corresponding thing from hash if the bit is set. Associating that thing with inode => hash lookup/insert + set the bit.