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 6A83BC64EC7 for ; Wed, 1 Mar 2023 08:16:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0560E6B0074; Wed, 1 Mar 2023 03:16:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 006126B0075; Wed, 1 Mar 2023 03:16:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E10516B007B; Wed, 1 Mar 2023 03:16:52 -0500 (EST) 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 D000A6B0074 for ; Wed, 1 Mar 2023 03:16:52 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A011C161429 for ; Wed, 1 Mar 2023 08:16:52 +0000 (UTC) X-FDA: 80519623464.25.9069787 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf05.hostedemail.com (Postfix) with ESMTP id A9DC910000C for ; Wed, 1 Mar 2023 08:16:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Ncv5Q6I+; spf=pass (imf05.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=olsajiri@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=1677658610; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=TSqaYlQUZddNvmjmRwWT7Q43mvIxxx7/x0n679k+Rr4=; b=PecGBb0KiWuPnRRU6LpAIY3GAHM2MX9derIk5mcjKb/XkRs6YYfh6lxB0fCajr5VO4Z/mn opArXq4aQ5KbID7cCNOMtFtOmZGaB3IluD10GcjqtjT6NBqprTKN95+Kb1Es6bfuNS+TGA stSMStUpA3MTVh51jXBjC4Cju7NiXUc= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Ncv5Q6I+; spf=pass (imf05.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=olsajiri@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677658610; a=rsa-sha256; cv=none; b=kqMav0zKoDOniVUR5Y2b1mbo1uqxW+er8gcq6LCGfdlPPKZ860rxwN4BLcMlbO0oF145vm OMz9QvaDybt2jiMn+c8Y0R3nuarh1/ode/mYjLHlO1cNAMzBNGAA1lA7U80Tddz6ySYQZv HhFqcKN3hsoT4yLbpnEAAtQJ8RtQ7DM= Received: by mail-ed1-f41.google.com with SMTP id o12so50410937edb.9 for ; Wed, 01 Mar 2023 00:16:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=TSqaYlQUZddNvmjmRwWT7Q43mvIxxx7/x0n679k+Rr4=; b=Ncv5Q6I+853ziEJ9cFR2KIze1sEPOYFcl2bIAQzHg0HwDZOr++UC6svB8xjQwjP6KD ZDzuuASX1qYHLpto1FnMJO1X9UB/QXfEVb42wZWfmjfKGt1shD/+d+tYkZmJGm9LLThi 9yeZwNTySbYwQOvXxFygGSc6LTPepJ0VNgjeEGr4G4j2U1UY4uuSwmVhH++ahsxuEeD9 B0FjuskEUT2RE7VVrSlA+4J4+886/9AbOur2Th4zo3fPx0ZEMNqjYRtbhXV6jVYuwGq0 Fn7sMh8/3PN0oiwrI8wTtaq5VRdoTjPRiZTmGn7L8bu8OS6lueukVupNM9QpQ89W3yYx Cptg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=TSqaYlQUZddNvmjmRwWT7Q43mvIxxx7/x0n679k+Rr4=; b=lFAcAtJVaI6cAqMuHuuXLDtsaOxK8ZRRSj+lB5EgosLL5g7vbfjUJCOtnCMveCoKVc Wr4MItTx+Cux6v11lxRDHykyJN6kwiUlqCJN10RzmSFfisYD7H6ih4+BpFtpN8RhsTmP xWYUtq2TcJDMcl+7wWYcC/WO+SOyvSXluZ7DuBvh3IkD9dN1/jzp+utk5rkP5xnvIYOm Ko86oQ/kPQguILSnkw1zCwWzJsOiUGs35LGpK/cS2nG4dLBF4T3ZQXrQ2H2DQsHA3d0p Npwu92c9ar3NDDSyTL0SsUJV+MnOSGOD9frTUm/dTGglpkAcTCGl7bOqgry2rcT4axvY OEIQ== X-Gm-Message-State: AO0yUKWFYPNO4MMhREghHZE89mDR410GgDQuW6QgiveFwR/dlBiWPCCo OQkyOsvMkiMArjOtx8K3x10= X-Google-Smtp-Source: AK7set95o6sHbzdX6KfRuUyx6EBQOue22QgQbKFPOQh/jgQcGhdkQTxLsOIsP3/Ms8wfhJY9TGhQew== X-Received: by 2002:a17:907:2057:b0:8b1:319c:c29e with SMTP id pg23-20020a170907205700b008b1319cc29emr6438580ejb.74.1677658608959; Wed, 01 Mar 2023 00:16:48 -0800 (PST) Received: from krava (2001-1ae9-1c2-4c00-726e-c10f-8833-ff22.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:726e:c10f:8833:ff22]) by smtp.gmail.com with ESMTPSA id v13-20020a1709064e8d00b008e3bf17fb2asm5578521eju.19.2023.03.01.00.16.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Mar 2023 00:16:48 -0800 (PST) From: Jiri Olsa X-Google-Original-From: Jiri Olsa Date: Wed, 1 Mar 2023 09:16:46 +0100 To: Andrew Morton Cc: Alexei Starovoitov , Andrii Nakryiko , Hao Luo , Alexander Viro , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Matthew Wilcox , 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 Subject: Re: [PATCH RFC v2 bpf-next 1/9] mm: Store build id in inode object Message-ID: References: <20230228093206.821563-1-jolsa@kernel.org> <20230228093206.821563-2-jolsa@kernel.org> <20230228111310.05f339a0a1a00e919859ffad@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230228111310.05f339a0a1a00e919859ffad@linux-foundation.org> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A9DC910000C X-Stat-Signature: wxkoue6ospf64cxdnm7d8chaaxmymkib X-Rspam-User: X-HE-Tag: 1677658610-838034 X-HE-Meta: U2FsdGVkX1/l8uE+Yw2tCOU5rqwgjQCM7P2ncxjWGtDr/ST21/75+S1Jhh1lKnwPgmdKWqSMPH1rax2RG/ZBWWddjZNdDd8PpxPnNr0d0O0H35HnZpkeiaey7+HF2LSZg9k4Wd4DIi/Lwj4nrmtkq0mLs7F/Kmz726QANX2OSziyNOya1+DshYskAjaPfodiST48n6ofRSuw52RG/ZWmWp2Zqj4ZA+Dxp2oCG/N+HRocXEqcs48uN5XQL0E51b3PR4mg0ys7PX1OIzQZN2qdZ3xOogj0O/o68B6iWIoyBJxcEqFwefmC6byvTt7hftmoN7/RKWWkUUh00Kk8FMTCq/Nlai6I3P+Hj4nBSYVMrEWEqcOjbKExuJ4hOTQD2FBFZ9mP49hOZiCFNgBA1d4a/6HZKA2RJfq9FWIP07TXKbJK0TzvHipTYsuz3xs8kzoInfM0RenUrpM33zYatKE6aXQj59yU/YnCzcwx6E4hR4W7LKL5cl8VigS1pzhR9JtXD7FuttEE+XeF5cb3OO8WkkcfBfHxlSxCvAC/myLpclcGNAnnP95daGevWP7eCr475b1NSRW6c5CVAQboA/LI9rTaV7QklYw7x6GSClE1ijNh9QeN99Lqii2oTSmKOose9vjiB9XfMEpJXfypBLSvmKu8vfvqzLLH+ONuhDoXOBcWnilnw5PF0XK3BjVGns+Rjn540OHq36n9kpNAW2qaAlDRrGWKIdvguCTcut5Vx2NrLQ988bHA5aRdG1CZ69BnZQkOFkUEYK3CEv865PG01O4x8p7vptP544Ozhxk7VgD4K130q2fIfQmYZJAKPaQ5nGru1YjJFxytsJPvDEeoX7x2pMeJ0FOnAOEbt4AkfMbVE+ZgLMXB1FXqL8/wsWCJk8iND8cHBrNHcripGGFRhg9QHwzph9qI6lxZMbUKdEp03g6RXCbdo7U+1dVLwmWL7LDRmoEHdkt6MquzYEI ZGCdLBq6 xDOHDAzG3LKIWCBS/kPoj6P8b5EC+7nGwgCxhQjUbLQC665mZ4Q218vIBH+UEGb6GM0EzzJZpVheWHBcZl0HuZSeHF0zT6VhlBnKAdMqcqpY2HHU9EuvRol0qkWaS8Rl6snXLw3Tfz3ZCUe183+StVLmBUUpEzYuYU4BtfM667gztHjFsX8SQRNS0p4jemExSNic6yW37JIrDVKZmquZ/KPPkmnfb9GpesI1twrxCMGmD8vzfOgD3J4qu19au6cXhhQEPT+Ginj9vs70gdqRsjofPXFB+8KsVy3ccaMxeFyt0iZ5GEuBVP7Naj5Xws9AnrorBwrTPK1pGhEeNt/hbpyQKKnObkZ9K3vjOY5X7N2DwJFIIRI3r5Xc+MJS1pfwkIAHACqxYh8Kt8JLU2wP6Cq/eqhjOAZdw3K2P+lotu7CuUosE0ujRRb4nm7nkeuteIw+QMbZ/e4XgjE/OpD8HbwhA9NIy8GaecWjKuEXwGOSCjOwqH24/22VgB37A2WOB/tdiGjehfUlyH2g= 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 Tue, Feb 28, 2023 at 11:13:10AM -0800, Andrew Morton wrote: > On Tue, 28 Feb 2023 10:31:58 +0100 Jiri Olsa wrote: > > > Storing build id in file's inode object for elf executable with build > > id defined. The build id is stored when file is mmaped. > > > > This is enabled with new config option CONFIG_INODE_BUILD_ID. > > > > The build id is valid only when the file with given inode is mmap-ed. > > > > We store either the build id itself or the error we hit during > > the retrieval. > > > > ... > > > > --- a/include/linux/fs.h > > +++ b/include/linux/fs.h > > @@ -699,6 +700,12 @@ struct inode { > > struct fsverity_info *i_verity_info; > > #endif > > > > +#ifdef CONFIG_INODE_BUILD_ID > > + /* Initialized and valid for executable elf files when mmap-ed. */ > > + struct build_id *i_build_id; > > + spinlock_t i_build_id_lock; > > +#endif > > + > > Remember we can have squillions of inodes in memory. So that's one > costly spinlock! > > AFAICT this lock could be removed if mmap_region() were to use an > atomic exchange on inode->i_build_id? right, that should work I'll check > > If not, can we use an existing lock? i_lock would be appropriate > (don't forget to update its comment). ok > > Also, the code in mmap_region() runs build_id_free() inside the locked > region, which seems unnecessary. > ok, if the atomic exchange is doable, it'll take care of this thanks, jirka