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 1E856E77197 for ; Thu, 9 Jan 2025 15:48:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 730B86B0088; Thu, 9 Jan 2025 10:48:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E02E6B008A; Thu, 9 Jan 2025 10:48:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CEE86B008C; Thu, 9 Jan 2025 10:48:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 00EB46B0088 for ; Thu, 9 Jan 2025 10:48:46 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 838EB41775 for ; Thu, 9 Jan 2025 15:48:46 +0000 (UTC) X-FDA: 82988346252.10.CA46692 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by imf20.hostedemail.com (Postfix) with ESMTP id 8DB011C0019 for ; Thu, 9 Jan 2025 15:48:44 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=U9CXjd0y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf20.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736437724; a=rsa-sha256; cv=none; b=ZEgf3fXU0WH7Mj81YreFQ6CU50sImUv6JRBkL9+bYWikR3BXcVldQeN4MRuh6podxQvpIZ tAXWg3XK9rsJPumH3njAgcOrUDMXhutiaRzHJF0PG/A9Mz/cbE1c1iVPo7piTplQm+b5fU 5Wqwek/F4QLzBDgs0l7w0mezUa30QIE= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=U9CXjd0y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf20.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736437724; 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=MGTXx+E61jSsjZDsJpmA7QyJPMxjnQEiuAL0Eyk3rXQ=; b=Lqo/vHJ8enbE+8FY7GR6rmY0xIL4hebH+vVPiEQBk0TtJSYQ/DmzMqU7rMMqSguAu5ad2X wMo1skaqLp1aykTMqm8EBoHsW37ySgy6GzZL+j5FYaSa3rZ4vMFM0f56NkmXmYc/tvX1lM ae2Ntr2sVdVg6rZa3SQssFtl7OcPDyc= Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-4679b5c66d0so240931cf.1 for ; Thu, 09 Jan 2025 07:48:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736437723; x=1737042523; 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=MGTXx+E61jSsjZDsJpmA7QyJPMxjnQEiuAL0Eyk3rXQ=; b=U9CXjd0y6P/Eh/mxSI0fneA7q20QT+Awe1yiMIju9+GuykvKfnu32TL3lyphWxHuEs JIFLAhwtNXX4o95u2+17uXT2Ji+6TgKFsq2Rcod6EOxe0WaH/ay26TM+lsvze6HFh22w JnWLs454EmYNyUX9cB08y9GSklysYA+dQIa1SQf5vkADaZo8VzH3E3kO15KVtJ8/tNnj 4HF0MB4rtmAsCH+L6sVCn2iBDz5Y5uSr1riATLVxb9J/UKE7O0u4ypwCCXovveSSmWM/ e7c8mmMUdWzyiVi1RfcPaGz2np+/f5SCE2aiAB/obyV4+LfUzaNLm+DKRyZxXC+zgrJA Bh8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736437723; x=1737042523; 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=MGTXx+E61jSsjZDsJpmA7QyJPMxjnQEiuAL0Eyk3rXQ=; b=VDD4XutLM78epZC40D/etKaDL0AQfBBev5zH7KM+a+3IAta9KJmHvfXgf0lBF03hOU ta4fX15jJrzurzwrfBsu+WjYAdU8WxSdlUQ/+oy8LX0lXjU4ANUpN4B9O7vGy/AkKc5x CqBmY07L5NQbbXGfW7EXiyIH5pj0RwSk46GWOeH4YvBNCun3FyyM3EyzoIx1Re0EOGL3 awdU2uqZbmQ9fzIpxwF1MISp6hZ8qnQqaDSJYoCQ8CWy2RzTKWiGksBy8ZgLlbSHJRPF jojyDX1ose51tFHLmhzyTM1K4NM1XV2t5G9cfDBtySChA9HKN/Y5L7D21lkA8ClgenWd BQjg== X-Forwarded-Encrypted: i=1; AJvYcCVUkuvlFFcXcXOf34AJSymS4JvT3x3LqFk9OF9HdvxYX4CfL1jAJ11xDgJ2nzV+9bFhNnwaaU5yRA==@kvack.org X-Gm-Message-State: AOJu0YzjUDx3EhJD55uTYHjg9m/L2urObfDqB2cMlqNT5zf6D3saTael X0U0yxCLK882wtiFjCyx7iU8yBR2VLz9AVSFtY4mY9Pj8N1OpYY0bLNWjCRqECkL9UdDAES5/hf cb54Bbals/iDU2Yhm2Lw6+EPsqHRPDs151YU6 X-Gm-Gg: ASbGnctP29B9s7Bf9X32uQV5bMlcyD1vrR3aEpGBxVp+mgYWKfSLx8UNVbNB40ZfGMG TBpGrARiDysq7dA0cjVm3tLv+cVRbmJOLFIV8TQ== X-Google-Smtp-Source: AGHT+IFsHC1fetnJEKN9Ecd/jGB6IaY3DZjjnJMzyD//QxwNc3qFxL8c/M9043JLDFlThJ4jBpXpSSK/o1JwVIjT88Y= X-Received: by 2002:a05:622a:20e:b0:466:9003:aae6 with SMTP id d75a77b69052e-46c7bca52efmr4556891cf.2.1736437723331; Thu, 09 Jan 2025 07:48:43 -0800 (PST) MIME-Version: 1.0 References: <20250109023025.2242447-1-surenb@google.com> <20250109115142.GC2981@noisy.programming.kicks-ass.net> In-Reply-To: <20250109115142.GC2981@noisy.programming.kicks-ass.net> From: Suren Baghdasaryan Date: Thu, 9 Jan 2025 07:48:32 -0800 X-Gm-Features: AbW1kvZ88mOnvt_PXBHgNOsv7nN4B9aiUi-v0OXXU6Xal0aEkfNK9s-fV9o-jAI Message-ID: Subject: Re: [PATCH v8 00/16] move per-vma lock into vm_area_struct To: Peter Zijlstra 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, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, richard.weiyang@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 8DB011C0019 X-Stat-Signature: orxuygbrg7983ewxduwxonj6pefpa9jh X-Rspam-User: X-HE-Tag: 1736437724-750662 X-HE-Meta: U2FsdGVkX19/Kt2WeYdW0rMQuhDyGo6SlfsNRsGgJTkqpkRVXWPb1RN54UOoleM22RNah3kINGdVDv/aeSYRTQmLXSZlsAogVrjoltRhNschz6epVaNE6mUesc5vtIcQkt/rQabJnhVGvGTmj+4f1WmN+AkPR3XWl+pPJkZcwkkylLCGzEhNTycMpwUn6fSznXO7zkFVWWMY8rks4w1ZYs3ib1Gdn+RsiGscHiUPou0lTvF+otjeL0ObI083J+jPUU1KNjstA87juehvsWORHHPKj7xymrjyNf9cBINt2pHhPiTTOB82E8bRJGuBtOEXLlF55is3iMAdCiWYrqVF/p4OiD/vSY7yXz5CiHL9l/Yj9a2fRVi+yAM3NfiRiYuOQQX8NdMAIsIExs738DZEiQA2L7RnmzKHvtfDuV0HWE17ZJlzjQtewLjJXkW6J33P60QTcO8VOhVSx0PJWNzDiQUQxYKuF5kc//op6gQMFNli7tV5CvjA8zjxYsduPOg0vJTkyof4nAymnXFYGhlC9nKVsJuOA7gZsSb8y38IRcNrf7UAvdceAVcukobQRYxWNR4G7OA5788DZrAKZcHRD4dsfrgJg0uVGgwKTu+0aqkr2NSEqgLdePdi8/RxBCHr7xqj6B4WJu176G+4JZOXcpvAw4UV0lRFVUJEAri/GIHgEE88kduOKqWnqAERZSNtckGp/NwbcQCAAaYlsjWdSWy4o4jUehexxSPEkeULbfkMh1UDNe4W4DWSVK1lZonKoBYqu5mxt3wVOcUqT09UIg0j4EDhliTM69K1HIs03wVjXAnBOIcZtu7Ou3IqxE9oYfSz6nZosf8H7/JTlBheFGhr4dcJKPt0AHu8RTEAzbV2+8wHdbo/KAQj/3e84xSV73xdEB5zcWuA841z25AGA0HdDrG22e9VO5mfG6F8nCATyxtfGiDmw0SoP5hE5KkVWZs9BqFQWHtW3crLtKV SvHIrdIq aB8+DYzGCTSdJjMQ/vqZGLbXL4DWgETll6AbMW9guDFTg6M/EZX/3lecy1CdaA7rOOlvCglYOXQiSW/38QMfesSK6lH8xO+RZbYNMhpClsJiu2vhdBMNNEf7YS5Xivq6nS0X83IZ3eEWQ5ECmZgtfluj6UdBg1YOcaZAWzJgsLSyeizfVGAdaaf7MQ8C724E0UNg4Ggq7sp6w9h0H9hU/V9/eDVy3jPL5DO14rdUdapR0d2tXm3h9qJ/7O575jVNwZQjvErN9A/09WtBmqfhPPmoyJK6v92fDgDsFc2brPWIy3AqUEl5zzbakxKYE/1o5ZCtEqZPY5XxChtpwus4nHaOXudG6Tws8PhaMccZ7hQuo0YubQlr4wbN1tQSwEVRgj+yxHkq2eOau80JfgS8lqpu/mfTRBQvqTa/P 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 Thu, Jan 9, 2025 at 3:51=E2=80=AFAM Peter Zijlstra wrote: > > On Wed, Jan 08, 2025 at 06:30:09PM -0800, Suren Baghdasaryan wrote: > > Back when per-vma locks were introduces, vm_lock was moved out of > > vm_area_struct in [1] because of the performance regression caused by > > false cacheline sharing. Recent investigation [2] revealed that the > > regressions is limited to a rather old Broadwell microarchitecture and > > even there it can be mitigated by disabling adjacent cacheline > > prefetching, see [3]. > > Splitting single logical structure into multiple ones leads to more > > complicated management, extra pointer dereferences and overall less > > maintainable code. When that split-away part is a lock, it complicates > > things even further. With no performance benefits, there are no reasons > > for this split. Merging the vm_lock back into vm_area_struct also allow= s > > vm_area_struct to use SLAB_TYPESAFE_BY_RCU later in this patchset. > > This patchset: > > 1. moves vm_lock back into vm_area_struct, aligning it at the cacheline > > boundary and changing the cache to be cacheline-aligned to minimize > > cacheline sharing; > > 2. changes vm_area_struct initialization to mark new vma as detached un= til > > it is inserted into vma tree; > > 3. replaces vm_lock and vma->detached flag with a reference counter; > > 4. changes vm_area_struct cache to SLAB_TYPESAFE_BY_RCU to allow for th= eir > > reuse and to minimize call_rcu() calls. > > Does not clean up that reattach nonsense :-( Oh, no. I think it does. That's why in [1] I introduce vma_iter_store_attached() to be used on already attached vmas and to avoid marking them attached again. Also I added assertions in vma_mark_attached()/vma_mark_detached() to avoid re-attaching or re-detaching. Unless I misunderstood your comment? [1] https://lore.kernel.org/all/20250109023025.2242447-5-surenb@google.com/