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 ADE81D41C02 for ; Wed, 13 Nov 2024 05:08:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D5E96B00AF; Wed, 13 Nov 2024 00:08:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 35CD16B00C2; Wed, 13 Nov 2024 00:08:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D6E26B00C3; Wed, 13 Nov 2024 00:08:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id F18D16B00AF for ; Wed, 13 Nov 2024 00:08:51 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 666CC1C52EA for ; Wed, 13 Nov 2024 05:08:51 +0000 (UTC) X-FDA: 82779890844.12.37DE58F Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by imf15.hostedemail.com (Postfix) with ESMTP id 1776EA0032 for ; Wed, 13 Nov 2024 05:08:05 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Ubjyqnjb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of hughd@google.com designates 209.85.215.176 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731474442; 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=PocdKWCIOcIAveRiyakr3Jmx0iCKZXkHZErP8Vwl8cs=; b=D2KitIoPfNtlpTdBh9RpJpRg573H7zHqEj+NDluA5N534DSCG8vUePGoNRpayhhk0+znXn 0Rfb0F5V4FkQRFe3Oi5Not0AL4trN+ZxX0cAPKa1gVnJ/AbbzOJRknvchY38LCIBpMtZgK rMIjn0ABI/B+d6tUC9np1vCKPy4Pd8E= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Ubjyqnjb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of hughd@google.com designates 209.85.215.176 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731474442; a=rsa-sha256; cv=none; b=8gimi3WhEwlGlaHQZK4nMNvlhGb0IXme/Y0UU7+tgtxCBzfFLvexDFbtSTn9FtBn8AOTLp 3qm1jsqUWVAPWcmxD1llW+KQBnVywXpjjNCy6IpwWPILNfTzzvKOcKdzhPYwwKSwqgTisU 0SN/SVvGBPltqa/FNVNvqM6olcNY+FQ= Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-7ea8de14848so4017455a12.2 for ; Tue, 12 Nov 2024 21:08:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1731474528; x=1732079328; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=PocdKWCIOcIAveRiyakr3Jmx0iCKZXkHZErP8Vwl8cs=; b=UbjyqnjbJIBaHE6rBTjUlZf6frvY9DPtQUZFn7F/U69xSWOJt3g+VGhhFsWjmzIWRH FWWL8OZXnaRtv7hdXOc7UsLZpYDTucEm+KNxbKY/6gsPqmE9Hs2OGSstskXAzEnWMH1E o5LwKuUl8Dysle/fUrtAQ2tLJLqDPgnssW3YGl5mEDxy5RLggXwrE4zqwuLkfpjZGjYb bJkOtenxwP7ghRrs+CPNnmQSSXbkKw65c6IrJN+A5dVOlTc029DvOZoElEiwJRlv3fcz KJi9KGlObqonS7UEGuc26FrB0ccP82wydxXMFJUTMCTowwDfi7KiyfEd+cidtcW9ZRvW 7CIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731474528; x=1732079328; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PocdKWCIOcIAveRiyakr3Jmx0iCKZXkHZErP8Vwl8cs=; b=Rd0e2GeaVnCRjh6IlpyB786oteHbSWgGXODowbmj3GK52n2K00XxvdV1lOnFOzmuvt I/ui924mVZiIlDvEqWxIlp8BRdmKCqSIspGJMV8YHGxBLvamQHxl6t9cXnylpZeSXHgf /YqkQHY58BF0HDthHHBRCCqIYXZGd1MXscc+wOdKJAQVLoIXeFO2BIq11mitns1hla2d ROG5MwPGYGzSFaTUSCc8wt5i2ZIHeRl8S0DrWgI2mrvR6TbQ784oBX801JxAVEr/tEt1 ZFPNSfap+L8Ki/G677nrI+TVkHTf8WMkBFQ1VWpfB/dZmrUcG+U4qAoeRC1h4d04piXz H/HQ== X-Forwarded-Encrypted: i=1; AJvYcCWz7e/3W1/vldjA3/Pmn2qGWotKhRnt8XNdk8Wo44oV5moxgu13TEU2D+2kt/lXCPiEGxr5dPurVA==@kvack.org X-Gm-Message-State: AOJu0YxNT7pRz0B94SKkEYMlWZG2Hdod+X3z7wQvJ+4lkpEVwkB0rhsJ 7Nh6IVIHx3ekXCvMgnrR0JBrMzjlTIhgevlrYmKTZiTEPhVdJxHbm7OM8t7yNQ== X-Google-Smtp-Source: AGHT+IHremYgx5NSRN53qdWhX65/NLKA6MKwyE0NVL9BJz4gJwLmJDMYiZ/8j3xp0KSJRj0SWaQTgA== X-Received: by 2002:a05:6a21:9d83:b0:1db:dafa:e9da with SMTP id adf61e73a8af0-1dc703b54d1mr2469949637.27.1731474527881; Tue, 12 Nov 2024 21:08:47 -0800 (PST) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7f41f5bcad0sm9781575a12.32.2024.11.12.21.08.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Nov 2024 21:08:46 -0800 (PST) Date: Tue, 12 Nov 2024 21:08:07 -0800 (PST) From: Hugh Dickins To: Suren Baghdasaryan cc: akpm@linux-foundation.org, willy@infradead.org, liam.howlett@oracle.com, lorenzo.stoakes@oracle.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, mgorman@techsingularity.net, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Subject: Re: [PATCH v2 4/5] mm: make vma cache SLAB_TYPESAFE_BY_RCU In-Reply-To: Message-ID: <6d0c5c2d-2963-489a-2376-8edaeb064de3@google.com> References: <20241112194635.444146-1-surenb@google.com> <20241112194635.444146-5-surenb@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 1776EA0032 X-Stat-Signature: qhg1fnx4r4qpnbb3fbzmfd5whsamtop5 X-HE-Tag: 1731474485-56895 X-HE-Meta: U2FsdGVkX19EPcMDtPcKNe3xKe9OSKzl2w/Bdy65xUx7OeeNaLmdblIY+0VPI8lCy5YTT3EIkDN/cuwAyFjqiHjY47E/mhdkBpESlzMuH2hjZXYvSg0m4vmoi6SQWbmXdm+Fl0zoG8E2kZNxbMYJ1JoIgCXar1vIaDpgfznrMeczIFIVhBKc5dh9I2l/bN9mwOUSPMsOO78QGfNFUqiWwZTIiNFCDgg2/oU8ol1lTiFhC3Frlyt79Mo8QXQRQavfj/e+X0gkBKb8N/sXzcPKdiusOH7I5fm9cFa6KXpkAxTnA25OGO1I4CcqQg8Antew+SdBPhrcfoNFPBkmPnZROrzRkUv5eQKahqKW7Q7fhqxQKgdvXIOdTrMR4hAhZTNeGGaPxbXloJ/8orAAPe3/JKEHPvIuE0wQATyXmTCYMj0a+zjjdWnDhoKB7A5OuC18ye9cWIOnyu4a7fOXh1MHDnTlpK8WsJkdvrCKgvogZb6d06KI6copetNJ1pozaKjDSgPzKkfhIoJKVdZXpE9YjbevPWuiVOP4CRdqBJ7RoayfhupKPyqqhzbv/Km0MinowoiGnyvtr+gcNDXXhyfxYCTJYeP3CfvYFA+gK1SH31J6OSMOAKWlu3z89z5QAvalyn0eUSFhTQexs0YYRfRg2MIzJem94tBx7W9cHBFZlbI0ZRwkZKQPSBC0yjkCvlLLp58CEh78Kp5reGLWcw41Q0COM6LV9sjqVjuRLjMvLXt1Qalu2EvfEXeFam95TUDBE5U+YrbjSQ9ITtEWNJCTREObt+18IGXgTsh5N+2BOLkgJjhfbcXG1jeVXDrP/g7ISmFas3if7MfDApPEElkU7DOMdML+Re67b1dBYzQpxvG3MdNtR7uJUSB5IbKEGr1wVtktU2+pcsj3wqW3oG5swfkA6RdSaM43qgO2byCzbDmY2DSrXcXIwFrl139+rlXCV8W1mcH8lihorkDpNAV IvK1v2O4 7oTZAq6hIh1Seyu17ACDrgR5bewq2yqZC/0GqSCVdOsfCWHy4uvTnLOXXc+FXmJQBTCXt7/X4REeNUCaAQkfOilFnmhc/770z/mZFS+fqNqsQrrwBd6NOe4Yjncddb0dBl8yFih+DGP7IxAjeP4clWoIDh6vQCfW18XU3sWAMQv0FFvT3notFqtFNgKW2uT1wxUjXqjuPR3hDLiFWyaXaGlOkE48wv9FbeYQ31Xqib7d3LUl6IHQm+TptJi4dKs5Ycc2tZCmlzMv7vvhLKAbAj6XR2uIHCGE+Uyiuop+9dCqa0qTgqCtV9YLSXHk8Bc+DXXg2GtAJ8yn4uKrO7AFM6pXFeQ6hdNJr9wVKqLbzqILcM3/0abUeBUFYXcblQHqRABlLzPXRss0oBR3nIJ0b5BXir8o3osDvtoWI 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 Tue, 12 Nov 2024, Suren Baghdasaryan wrote: > > Thinking about this some more, I don't think this works. I'm relying > on vma_start_read() to stabilize the vma, however the lock I'm taking > is part of the vma which can be reused from under us. So, the lock I'm > taking might be reinitialized after I take the lock... > I need to figure out a way to stabilize the vma in some other manner > before taking this lock. (I'm not paying attention and following the patches, I just happened to notice this remark: forgive me if I'm out of context and have misunderstood, but hope this might help:) But this is exactly the problem SLAB_TYPESAFE_BY_RCU was invented for. You just have to be careful that the locks are initialized only when the slab is first created (allocated from buddy), not reinitialized whenever a new object is allocated from that slab. Hugh