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 A9FF2CF0449 for ; Wed, 9 Oct 2024 10:36:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 28C816B008A; Wed, 9 Oct 2024 06:36:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 213DB6B00A2; Wed, 9 Oct 2024 06:36:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08D9A6B00B8; Wed, 9 Oct 2024 06:36:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DA7AA6B008A for ; Wed, 9 Oct 2024 06:36:02 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id AB397808D4 for ; Wed, 9 Oct 2024 10:36:00 +0000 (UTC) X-FDA: 82653708564.18.84DFF76 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf10.hostedemail.com (Postfix) with ESMTP id CAC1EC0013 for ; Wed, 9 Oct 2024 10:36:00 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=R0qqQdLW; spf=pass (imf10.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728470092; 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:dkim-signature; bh=9umupoLuTL32NrWtfG4cmlO4Fxka03uM//GgevckzXw=; b=h4AMaBOaVNNSgI9zWJkWlsJqtKExcn8cX6ZUO+nEUmjsdDX47sc48C2PAT1R+kku0etrrf mDxtgatub14fg37wLSTu0Q5mqt88JFi27/gwz2xFNmy779DzIMzZmdxx2EJjC+8GcrELwX BG58pczPFRl0EFZPFUefDu5qPkE+DLs= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=R0qqQdLW; spf=pass (imf10.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728470092; a=rsa-sha256; cv=none; b=PdW+JGGxpfAcl3pSOnlT34PnrRll7dU/iIaOadjygf2DqAuPIvJzORtF8GpZI9XzZx6+yb 1147XlTluxz0xElquXp7jJ3VQxAdFS7xT3gWHp9XGoVbibuO8SvD/dx7l8yFBEJktonOXi 86N70hf4WdbDaq1TZNfVHYfSWSoqPEc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 97BEB5C59A9; Wed, 9 Oct 2024 10:35:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 444EBC4CEC5; Wed, 9 Oct 2024 10:35:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1728470159; bh=dxh0uEpbnl4YUFu8vCE4kg9SVY7NzZOGXbkINTFN82A=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=R0qqQdLWcpznVsXkP11aNhQX2M05ik9AKGWy0E+dOQ4NroPWyzTmb5UNSQPTzNFvh ukjwLQFCOS4ElwWMFENJvy1JorVya3KUCg7Lg7k1U+k6MPggWQn7vc/L1Wn5m3Efc9 S+aSWf2yV4VaEYArRP1RqQq91TWzxZZlQObH6oy8lU2iTG3n+EjxinABa33RWqdmJg 5Fgv8gpuQdcqxgSxynAjKy67wMxjWsuOQa57MYM7+jqRhyU81ZvMPrcGrB9RJw8Piu h2YdXc+Jrn9b9eDjo3GIRGxbW3MzMcarmFfJIK97SwlusgU7X4uIu0q/ZJFV7mNC+S Wc0uP9+8wMYCg== Date: Wed, 9 Oct 2024 12:35:52 +0200 From: Christian Brauner To: Andrii Nakryiko Cc: Andrii Nakryiko , linux-trace-kernel@vger.kernel.org, peterz@infradead.org, oleg@redhat.com, rostedt@goodmis.org, mhiramat@kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, jolsa@kernel.org, paulmck@kernel.org, willy@infradead.org, surenb@google.com, akpm@linux-foundation.org, linux-mm@kvack.org, mjguzik@gmail.com, jannh@google.com, mhocko@kernel.org, vbabka@suse.cz, mingo@kernel.org, Amir Goldstein Subject: Re: [PATCH v2 tip/perf/core 3/5] fs: add back RCU-delayed freeing of FMODE_BACKING file Message-ID: <20241009-eisvogel-zugelangt-d211199df267@brauner> References: <20241001225207.2215639-1-andrii@kernel.org> <20241001225207.2215639-4-andrii@kernel.org> <20241003-lachs-handel-4f3a9f31403d@brauner> <20241004-holzweg-wahrgemacht-c1429b882127@brauner> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: CAC1EC0013 X-Stat-Signature: gpgca3dg49jnp5oweiyqy5jpspp7sebn X-HE-Tag: 1728470160-452733 X-HE-Meta: U2FsdGVkX1/24y+yEX5LnFMDvq6gIlSgu3yc48F6jxALYxVWQiaE00zPmEGhf2z32XRfDeel/UudYl3BfDVmTq9Xsp5pCkENhJ/qordrItpDRUC2IvSoPf2Sp6hJWuNMxwt3AzQ3vv4VaHCx5z4DuJ6orkJ7hpQdBXIXkxnKqtWEe85cM2bvzIbWZams8zSeDqlLS4/2o42AMK02lqNY97BveYPjRAAabMZSVbQIGe4z5/upUED0f32wDKOhW7OhMSFNSAGrAV5qN6xcoBJf6Xt9LhMxEpIgFFW9EdixJsTTulcQtO/5BnnWo2ZNnzggalBucqP7EuFs9fAvj7HmrkrYsAPS6dxCmvrnWrPmBSDUYbs9XEMRtzlrCR9WIQOklnuhHsvu3LosNQQMmXyVuwUTxB24N237Pt0jf1zvhKUtq7iSx1tfP+AuStpsR1cYbxm16NdHzawnao5AFrQ5EZqKcMv8DRP84O8bqs3Ga8n57Uf03aLLRcu1z4efDujFfdjuEzXOh3waCAPm79LB11WJv1yJkitEg8C+kRi+3dTewCabCJAEGwTuDaKvtQW2Evclaw19QOA0B85Nkl5d5/p+UPSmH4oPaPHdPNY0H7coQuH7zjEH3sIpwLu1fu9Ku5xSWoPJJ3QUELMN7+ctMtcxew2qtWVuViEj9xvinqpyoAi20lf5bEu+RM2yRt6IsY6fbD+pCVtv5y0Ukjv//5LF3Mu6+/y+U6sGjy+8fjV8j0vpcFwh0S8Rr7Y7vL81a4vt2N9rz4BkPQ/HefOgO8KeAEAoYX6lNF/lcwwBJlBSS9hLuMYMtJAvGqU39ZpzhOoIo/mo/DiIM/LrDqEh0Kopx4G8XfzGGZGKzrfObOYp0OQNRWHTbM4yVQ7VCizQn8uikVEaB9cKMqBXmhAdAn5ODdnV3H8zeOYXVmyoAaW5YMpv1XRxAjFoodUD3V7dWFT0mSB9dy5dPzGrsIJ zzfBYKxa teOg3k8g7kuj/u4ePY2fiZvf6ey6HhbNm67dtW08anvpetgppdC8nvAsI8MxjV0GtkCKbcBdkb9cH0W8+NmHyEokAapHefHmgHiJCI0QEtc4eJfdSrhlIpDghfvt8etGrXpvly1nIpwDS6wUca61pPF0iTiHtk9N11hPBvGMYXSs2FVUo43oL+bmeCj+B72RL0zDdRkZs5uavaND4FkKCD5ESWfRbGpF6uciSs3zKzkHfU3ghgI3HvwwdZcSLY6QEe1C6H1KKI3FN4a529NQBp4GTlfB2HCQk6puS+PtqJ4swW3brVkG1wMsCR1P5xuB/g3OYLP+ThuB93UA+6P++I3iTreazQY0N4oZEOQrPtoKtPi/edHE51UUHVeY54N20cZidFYreM5eapUUYKdSHZ7yFOr8c/uq6fjkWiv1oNLRs/LaiCH5myINOjBth5OawdRU/+1HJBer2lDsMkodK5JL1VhFsAkixK/2j6uSSkMHhXBj3cpcY9Qigfwby4YLqu2LV0T/E3D5/V9A= 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: List-Subscribe: List-Unsubscribe: On Fri, Oct 04, 2024 at 12:58:00PM GMT, Andrii Nakryiko wrote: > On Fri, Oct 4, 2024 at 1:01 AM Christian Brauner wrote: > > > > On Thu, Oct 03, 2024 at 11:13:54AM GMT, Christian Brauner wrote: > > > On Tue, Oct 01, 2024 at 03:52:05PM GMT, Andrii Nakryiko wrote: > > > > 6cf41fcfe099 ("backing file: free directly") switched FMODE_BACKING > > > > files to direct freeing as back then there were no use cases requiring > > > > RCU protected access to such files. > > > > > > > > Now, with speculative lockless VMA-to-uprobe lookup logic, we do need to > > > > have a guarantee that struct file memory is not going to be freed from > > > > under us during speculative check. So add back RCU-delayed freeing > > > > logic. > > > > > > > > We use headless kfree_rcu_mightsleep() variant, as file_free() is only > > > > called for FMODE_BACKING files in might_sleep() context. > > > > > > > > Suggested-by: Suren Baghdasaryan > > > > Cc: Christian Brauner > > > > Cc: Amir Goldstein > > > > Signed-off-by: Andrii Nakryiko > > > > --- > > > > > > Reviewed-by: Christian Brauner > > > > Fwiw, I have another patch series for files that I'm testing that will > > require me to switch FMODE_BACKING to a SLAB_TYPSAFE_BY_RCU cache. That > > shouldn't matter for your use-case though. > > Correct, we assume SLAB_TYPESAFE_BY_RCU semantics for the common case > anyways. But hopefully my change won't cause major merge conflicts > with your patch set. Please drop this patch and pull the following tag which adds SLAB_TYPE_SAFE_BY_RCU protection for FMODE_BACKING files aligning them with regular files lifetime (even though not needed). The branch the tag is based on is stable and won't change anymore: git pull -S git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git tags/vfs-6.13.for-bpf.file