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 786F6C52D7C for ; Tue, 13 Aug 2024 14:49:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12E3A6B0095; Tue, 13 Aug 2024 10:49:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DE006B0098; Tue, 13 Aug 2024 10:49:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE8B66B009A; Tue, 13 Aug 2024 10:49:55 -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 D072B6B0095 for ; Tue, 13 Aug 2024 10:49:55 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4A14A140902 for ; Tue, 13 Aug 2024 14:49:55 +0000 (UTC) X-FDA: 82447506750.22.337E58A Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) by imf08.hostedemail.com (Postfix) with ESMTP id 762D1160030 for ; Tue, 13 Aug 2024 14:49:53 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oJSHk1xQ; spf=pass (imf08.hostedemail.com: domain of surenb@google.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723560523; 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=lMAmvfMfLGxG04VOncSiEgH42uCMXnhNVQeyFe+gN58=; b=P7Ur3mR7tbMeReladqgdadgkxtietxXv6d8R++3hwiJmGmZFN6Eh5P3KnPy33n/R975Q2d VprBnNolyzinjBF9/ZGBuVM4W72rq1+u5Z6SrFWLfjDqyEheOOX8iU/QO8YLpC3fBafzHr 1HGgKOJhgrVqhXQ73p5KNl8mq31G66M= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723560523; a=rsa-sha256; cv=none; b=pt44JPY7/vFRv52iC600ybr4LLOLK3/gZ58NM+grnTUsss83MUI5sjrvjgJ28DQUo+VxXl dj2Uauh4MP7TVZSC/G5ExpldzEqVKlO5bY9b6d+tcjoipc+lv+jnxwiCqJrz4tpUc57Ly8 0Uv+iO/NcovXpf57A945B/517PgTSp8= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oJSHk1xQ; spf=pass (imf08.hostedemail.com: domain of surenb@google.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-66ca5e8cc51so53632097b3.1 for ; Tue, 13 Aug 2024 07:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723560592; x=1724165392; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=lMAmvfMfLGxG04VOncSiEgH42uCMXnhNVQeyFe+gN58=; b=oJSHk1xQ69hp0HlrWRlThFZCQv+iN8IgKMlG5cYEXLJtm3K+Js+WBKjz6d4MOeFIP+ 8Z5iF055X6CcnxsBJ7qNjA359zrBrAXpZVrdEvID2I5Slt9YsVDfXeFR+6U1GEcMHth4 /ZJEw0PzOa8F1ax38ZsobPxE+59hI03HTWdYiyMMeX+D2nbOazgf8VmPzYkdZR0bh3JL Rr+b6DEty+14SclyQ9lBPCWuIg4+iy73czrKDeCMRGbMpc6syLUquaiJ2spJEVdEec0q G2x/jPPahz0Am/gEDCoL9fo7WlcfoXaV+JGYcVOvvwXroKy+SOrGdlir1i1mAefxgvZJ 53TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723560592; x=1724165392; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lMAmvfMfLGxG04VOncSiEgH42uCMXnhNVQeyFe+gN58=; b=C/cv6RrLhrmT/h0s8Tzp+BxgDWYYbxEBV9LhtR26KKU+MwgxfHGz0hz10BypHm9D2P jEgraVaslGwDepTO62a+lk0o8Xxwjia1bSs9L/bfq7VUkpFYMzWopXcmGfzzWCprfF6K CNcUaqI4V7x6f63oBXKkDcCKC3N+Z+tn+Z8/Gv0Vm0j6Kxj3y6bowo4Qy3jtgJY+dvo7 ULy7U7fAxxThMmxMQ7Uv/cZTBikT3GiB7uBVdVhlIKu/FwjmsWh0KO7PdN1yESe8dLwZ +SdFpGNfdK9CSsS1lIdttY46dOPMRfqObTrcTO016IZXi6ycp4/eehLlJUoqFnPMjJYT fYFA== X-Forwarded-Encrypted: i=1; AJvYcCX1NuPIcbxk6nsGRqilw4tui4W9lUmHSMWpASNPErYBEBm9IoBlCZZlferjGC+RvQIdCxG70i/Pqw==@kvack.org X-Gm-Message-State: AOJu0Yx2BRPcR0+iHHbUQ/7/Yt1iLT+t+9bdAN7YZYGPC2DSnjYMgw0C TXV6nD4mjgUeQpqvwnlixSEoZfUk7NSdoAB8OnM4iefR8QiPn0ehnNkNC1k38gWBWjasd4GU/hZ jr6sCuWlUFq2tZUgNOWWKm8Eg/oszgqjiYfIH X-Google-Smtp-Source: AGHT+IGmEzAwIAwEGRhqLpZdPYAARLGHX4pBz6ekvJpqu2lSPX/60rvAtPYhRmXeAktfNJ1DwLGeQLbuisy90b+WpIM= X-Received: by 2002:a05:690c:60c5:b0:62c:e6c0:e887 with SMTP id 00721157ae682-6a97151cc29mr57357187b3.9.1723560592146; Tue, 13 Aug 2024 07:49:52 -0700 (PDT) MIME-Version: 1.0 References: <20240813042917.506057-1-andrii@kernel.org> <20240813042917.506057-13-andrii@kernel.org> In-Reply-To: From: Suren Baghdasaryan Date: Tue, 13 Aug 2024 07:49:39 -0700 Message-ID: Subject: Re: [PATCH RFC v3 12/13] mm: add SLAB_TYPESAFE_BY_RCU to files_cache To: Mateusz Guzik 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, akpm@linux-foundation.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 762D1160030 X-Stat-Signature: x9g5jr4pi9tccic3oeanh7fqqk38zgd5 X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1723560593-701631 X-HE-Meta: U2FsdGVkX1+8CVRNNmoqnI/bE9cHti4DnRTg4SxcQOmwca6QG4NEB4xKsvdv0pwKbxMxw0z0+Upom3FLfDI6HosmIhGPX1GxzU+eq14Xq7P8O9ZJG45ZV0Gg0ijVkQ6smFH4aKCxhEOq5jJm4k10az3tM7KhblcL87sgqmI9d+UcL+AMWxGaimHQdM3W6o68+1OmH5sYJU1ltFanIuI5E8kNwjzEJm+B/2r+0OTSqdGJLe6a+jk8F3YPrv07PM2I0w8/lvTQC+Gh9VXKMF2OWDBO6+0MWJtgxaBsI7iwBivzXy+dMrjO/1xBI5GwvRa30gDFGhq95xMI05aF5nGB6WPBm9d6pmFZVEVOe56DPzAc2fe4FjP4+2mj0Y65PSWYceRo0CTmnyTHs67yttCTw6ZK3Hb9LRz7buhbwlB8o2ltHO1Hjqn4NjzEpFEtsGb1LZW+c6lyxJNtntpopOU6nnFhTBgEY6POOpoFc7SvMo8giGdmDdOnfS8DaLnMWUJmqB35QvmeW+6yZ5NworkH+BNYAgsKpjvkeqffLyh1PM85cpGfsTkhhUAYWlsN8aBifU9B5qJGv77iHEZ+Gv7rgk3zeKU2AYOJnq6AVgkJmaVHtravUE9DepyUV7RhIKGvpyN8k6lSBdrFXL655+7RzwnFPGK+F4b5CqvbKRFGksRxWV7w2/7K/HF9OH8MVuOTG0sRbFql3hb3CQwT3RyYenfTaFu4lTbfDQ3uDbjTk9thuJOqWG1ymTDYBdZfSqV6M1olggddGyTodbEWZzdapAmL1jdq7invuq+kYEV2VQWquXx3ciDw8+iTD7eKBmMkWTo/VhAiQYQtMFEyXXASw3+1BpH5QT1HdQMg1U69akH/xi2M7kjq/sjvhx6VBQMKQbzVY8mKQojf8FLHex4xlZ37BlysMYn91IfPpb+KECUHfRPYbyLn6Vs3AesaqCw7Xf1YBEEESKKzQn3Y7Xr XGiPznv+ 507v3ENh2KiEDNMtHKN7ytowP8wfmtRBdNotvZEbo60Z05Dee3QoSqRzAupHUnnbvS1SPJkMUOmJHD7JgVOoffMsyKWrKeUeDbkbwsDQzW2izkbuqcKkNm3nFFw0I1vTEcjudlV8MruTXaJggnOi6M63mQgZOOCJub+lBldLjGwNHPinPmGH/tbxSkA9BZvORQoBQt3qPF7eCV7TPTGVDmHrjIPhqiinjy4gBDRK9VmzN+0qBUF35XFqu+odApiYkU+HYN2cLJbvbcI6cbxoFxxcyCc2M6dVb3pGxnQWEC69nuvmCIxhRo1b5urzyKPEES2D/J79yAHqSsKYr00sNx4ST0z4xZVzd7CjUOcNaWixWGDE= 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 Mon, Aug 12, 2024 at 11:07=E2=80=AFPM Mateusz Guzik = wrote: > > On Mon, Aug 12, 2024 at 09:29:16PM -0700, Andrii Nakryiko wrote: > > Add RCU protection for file struct's backing memory by adding > > SLAB_TYPESAFE_BY_RCU flag to files_cachep. This will allow to locklessl= y > > access struct file's fields under RCU lock protection without having to > > take much more expensive and contended locks. > > > > This is going to be used for lockless uprobe look up in the next patch. > > > > Suggested-by: Matthew Wilcox > > Signed-off-by: Andrii Nakryiko > > --- > > kernel/fork.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/fork.c b/kernel/fork.c > > index 76ebafb956a6..91ecc32a491c 100644 > > --- a/kernel/fork.c > > +++ b/kernel/fork.c > > @@ -3157,8 +3157,8 @@ void __init proc_caches_init(void) > > NULL); > > files_cachep =3D kmem_cache_create("files_cache", > > sizeof(struct files_struct), 0, > > - SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_ACCOUNT, > > - NULL); > > + SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_TYPESAFE_BY_RC= U| > > + SLAB_ACCOUNT, NULL); > > fs_cachep =3D kmem_cache_create("fs_cache", > > sizeof(struct fs_struct), 0, > > SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_ACCOUNT, > > Did you mean to add it to the cache backing 'struct file' allocations? > > That cache is created in fs/file_table.c and already has the flag: > filp_cachep =3D kmem_cache_create("filp", sizeof(struct file), 0, > SLAB_TYPESAFE_BY_RCU | SLAB_HWCACHE_ALIGN= | > SLAB_PANIC | SLAB_ACCOUNT, NULL); Oh, I completely missed the SLAB_TYPESAFE_BY_RCU for this cache, and here I was telling Andrii that it's RCU unsafe to access vma->vm_file... Mea culpa. > > The cache you are modifying in this patch contains the fd array et al > and is of no consequence to "uprobes: add speculative lockless VMA to > inode resolution". > > iow this patch needs to be dropped I believe you are correct.