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 1F6C0C02180 for ; Wed, 15 Jan 2025 03:12:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8EA2F6B008A; Tue, 14 Jan 2025 22:12:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 89A6C6B0092; Tue, 14 Jan 2025 22:12:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 73A5E6B0093; Tue, 14 Jan 2025 22:12:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 5651E6B008A for ; Tue, 14 Jan 2025 22:12:35 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F3C651C7F75 for ; Wed, 15 Jan 2025 03:12:34 +0000 (UTC) X-FDA: 83008213428.25.71D3E13 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf28.hostedemail.com (Postfix) with ESMTP id 1F095C0012 for ; Wed, 15 Jan 2025 03:12:32 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=d8UWp6Lh; spf=pass (imf28.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 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=1736910753; 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=/WLrWAK3A+hX7MbqxT/znt3dud8cCYJ+whdShWH78bg=; b=vsvNhhQx+IR9zpsyBlJx++Wna/KdE44+Ajeuob6efT3/9dyxQ21RPMV11PBsZOZuISpWWx iY0knFFxv9aCojLURNQ6q6YzBuchZq8xTEHWhQuIHQwL4pDAtsca9ZJ7lRdCejb0ehGvCD dk2hzKetoMyWGsCVgC0enSWzfqOBQrQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736910753; a=rsa-sha256; cv=none; b=q8MJXn5/78vVRl3FdvC/qlFmMHKknM5NPHkaPRCiXWOZ9vXMgRGFDGPZlK21T/3QbaZ2d5 6sP5e9H/e56i5FVyUzmc4qGsmP3PSYsC58LhrMZ7HQRhtfGm0qacgQMcPsrSy13fEbVxtf zHO0eR0vK45Xue36eYAymA2bDCYqSRs= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=d8UWp6Lh; spf=pass (imf28.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-467abce2ef9so416521cf.0 for ; Tue, 14 Jan 2025 19:12:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736910752; x=1737515552; 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=/WLrWAK3A+hX7MbqxT/znt3dud8cCYJ+whdShWH78bg=; b=d8UWp6Lhj4UDWUHyZHPurW91X+K2ip5ppSTsd4R7MD0QDQPtfQ17frBpDWcngtCqAA VbW6Louxfib4i9FwEhqLsriS8bvKv3E9oqNozTKbCbG2ervuTuDda3YDqfcnjKnuAf0z vvCd9onp+hh+UB4L51xE24N0MyFkFKEcqot2qyQqHv/tqYk2557D7EMUIg0ABekOpMgW WQhht/pkFWw6L0FxxhVYHcwQHnrysM+QLCueciKFHLrYxC7rL6dpborpL8z+p98hv6NO Lr1b2bLBNWPuV9IZVWBXrSBBCswrzNcv8P0JqqNqPGL1erc6F1ZzCSKZL1kfah++ED48 EURg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736910752; x=1737515552; 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=/WLrWAK3A+hX7MbqxT/znt3dud8cCYJ+whdShWH78bg=; b=tC6qIzbgAoKMnuaqm5G//1bWsDtaLD8OYpWS8iMBjyIThXwztRq7/BXGYb5hBHabH0 eNaDuyEfZZUwIr9TON9sULkSzHa7TMoU5K1vaB4ysr0/DI3yoAMjm27WnXq5lXqoHXSM NZBZ4XrzQbKFkp077JdvRWVDR7BGStf47IWAKB5QUPjnG/dsrVk5BhXEKYLoLA35b8XF dZCzOZFwOcibtzDQ9lOruX9JmEq91bovTAtSNmjbMCGaZZggANVhgIPSgn4BpefS85JK SSF3ikK3KqjQXwRDqMCl647mJmwc3Hslyy75gFuUM9evtvGICkvbdBdD68TeyT1dVh4j foxQ== X-Forwarded-Encrypted: i=1; AJvYcCU2PGWjfJOEx9wbqgKTZ82k84pOCUN8lFLXHpi046qXvtF6g7+NAZUnHDsOrM8+8rnTTpFUSzmXkg==@kvack.org X-Gm-Message-State: AOJu0YyJ6EMHnCv0AanzUW1eLwpH/+vsoKZ4FBsIh2bsdRwirYcprA2/ rsLxJoayGB5srBHmATx1b0OT87MYrzmSyxjR16YQHUDs7xakvnfA0yB+pP0bDaxKScbD3dmZ7oF ezHIP67zwNtAuXUcY8JekHa1y/K/WIFZ2S0OM X-Gm-Gg: ASbGncuQPDIHq5VjVdDqqsGFEanGtIdMe8gKrm2+fd51z13AmO/DuqZ4EqFTh4MNehd 9S4jUvb07ShEyVOuwsRF8hoLbM5xpsIxumin8dQ== X-Google-Smtp-Source: AGHT+IH5FFGAiPnYc3QmEM1mJrbs85UnXl2WCXEjbVPLmdRANY94kWDirMcRZM7DOuXSdvRmLcFHqaEOOnw8BOLR+jY= X-Received: by 2002:a05:622a:388:b0:466:975f:b219 with SMTP id d75a77b69052e-46df567eff3mr2280101cf.8.1736910751881; Tue, 14 Jan 2025 19:12:31 -0800 (PST) MIME-Version: 1.0 References: <20250111042604.3230628-1-surenb@google.com> <20250111042604.3230628-12-surenb@google.com> <20250115025830.pebmoyerkruqtx5y@master> In-Reply-To: <20250115025830.pebmoyerkruqtx5y@master> From: Suren Baghdasaryan Date: Tue, 14 Jan 2025 19:12:20 -0800 X-Gm-Features: AbW1kvbSjZeuNjMrfWdaHrRtVrYiQKhiGbkf0X276wxeUwBBTQRL-k7w94xE9nQ Message-ID: Subject: Re: [PATCH v9 11/17] mm: replace vm_lock and detached flag with a reference count To: Wei Yang Cc: akpm@linux-foundation.org, peterz@infradead.org, willy@infradead.org, liam.howlett@oracle.com, lorenzo.stoakes@oracle.com, david.laight.linux@gmail.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, 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: rspam02 X-Rspamd-Queue-Id: 1F095C0012 X-Stat-Signature: ycw9kdamh49xdzotcfmpq6as4ousrars X-Rspam-User: X-HE-Tag: 1736910752-834903 X-HE-Meta: U2FsdGVkX1+XMAa7McHtWIoHLuNvTDY2SSHgLJRCN2pZinpI0hCMyIwoXsFsyvcNwxkRXcYyfPbtOFrwUBizBS4MJzy9OTpieZGJMoLac3EkxZgbL5nLPiI4+JVbr0SJpPewWVXZKjfT6vEPicKT4Nkyz44XAZs4SmYXCkfsWO7LMNpE+GHUyYH0HYIPQGa9O1bcjQETS0oJ+Qp7U85DA22cIS/XegJKU7QCNq9dIn3uOjuEmscIcgN35u7Vi9z3qR4v5rR6r2WRnKuCnwXRJJWjt/LgnLPFNlKhkHHORb4q46QNCQf+YFmWs0+bH+Y8G8HSjOKrpdu7N9m/ZVK7UXt3XFU6LWw2l9ruV8xi36wHhtwzPy2/RaWBkN9Nrn59jjosIvHTwIXBOKrpC9NK0gNCfquUpJJK2Bs8L837HRLWmECnsXq3keBkxw0A/GDkw0FjYs4m/d+xKx3s3I8ZKY6Ive2ydndI63Vcii9BvoTCHpmqlI4E8jj+qSqFqj7mKN2OOXPbG7vcufQhj6J2/n3+KDI9m4csM3oKvW6Z2zfgydEmF7gk+Vp0K+jqlHLYYXYDopptJZfcHtt0gyOPmlG1jfaOLxSKctwXKIqtwTGXygwTsHDf3HqSBJp6sAZqfGInz93TOYWczPppTvqhjKbTM+eCr0tqxEPq7ylsYPrIrL93KokBmOe+J8QbuJN8RLBKDjcZYihBpe9nsPNIgfbuKrd/lY89TXjCYZqWGdwXhIKQemPLyyIMnbPbGgjDOPr4MuglTm2opbiwPhzbwcaD+pdn7FaCPF9qAcAbzmbPuao2QIIhBpR25cIVlQA2oJC0X9KPjTVFeHZzts4j8P2jEmF50A9/7ez82Yq73DXdsoEa1RLhNwM6pwC34hYuMe1YFdfoIyKZx9OJoRyccdaaBM2xUFRrf47M+FX+KrMrLvYbYbxNqZGxnH7dr5gIoswU5ATGwZqNflxpVwL SRbO5k8+ FSO0qtkQ23HXdfC6G0oPYIMCB05V1rzr5mzfGwQ3iIboYWxSeIDsbxXj5wSfJG605jg5rkzcs2m6MSRfD2QvtVC1yGTmD+9wmyJE00GKrQmLMnVb3d+9sy4N0mA6BeDT/8KWlCkZ6A0QRVBsKpnG6g0STOTLwx++Y0CGxs5O+ydUiRogo5g17RJ+RTToSrPxhP2yj2KQN9Rp3EnLUi2uA1o8RsonkDr+vK0x5eE1mJGj5qyA+eqYKQCyNMRW7lIGYeuByFFETaQm+OSmadFV0OQywMu6mxSSFOtXWjwO73aKMc1rWG/VgJ162TtzOiYz1V5L25PQQusYKrck3Synkc43iow== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000937, 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, Jan 14, 2025 at 6:58=E2=80=AFPM Wei Yang wrote: > > On Fri, Jan 10, 2025 at 08:25:58PM -0800, Suren Baghdasaryan wrote: > >@@ -6354,7 +6422,6 @@ struct vm_area_struct *lock_vma_under_rcu(struct m= m_struct *mm, > > struct vm_area_struct *vma; > > > > rcu_read_lock(); > >-retry: > > vma =3D mas_walk(&mas); > > if (!vma) > > goto inval; > >@@ -6362,13 +6429,6 @@ struct vm_area_struct *lock_vma_under_rcu(struct = mm_struct *mm, > > if (!vma_start_read(vma)) > > goto inval; > > > >- /* Check if the VMA got isolated after we found it */ > >- if (is_vma_detached(vma)) { > >- vma_end_read(vma); > >- count_vm_vma_lock_event(VMA_LOCK_MISS); > >- /* The area was replaced with another one */ > >- goto retry; > >- } > > We have a little behavior change here. > > Originally, if we found an detached vma, we may retry. But now, we would = go to > the slow path directly. Hmm. Good point. I think the easiest way to keep the same functionality is to make vma_start_read() return vm_area_struct* on success, NULL on locking failure and EAGAIN if vma was detached (vm_refcnt=3D=3D0). Then the same retry with VMA_LOCK_MISS can be done in the case of EAGAIN. > > Maybe we can compare the event VMA_LOCK_MISS and VMA_LOCK_ABORT > to see the percentage of this case. If it shows this is a too rare > case to impact performance, we can ignore it. > > Also the event VMA_LOCK_MISS recording is removed, but the definition is > there. We may record it in the vma_start_read() when oldcnt is 0. > > BTW, the name of VMA_LOCK_SUCCESS confuse me a little. I thought it indic= ates > lock_vma_under_rcu() successfully get a valid vma. But seems not. Sounds = we > don't have an overall success/failure statistic in vmstat. Are you referring to the fact that we do not increment VMA_LOCK_SUCCESS if we successfully locked a vma but have to retry the page fault (in which we increment VMA_LOCK_RETRY instead)? > > > /* > > * At this point, we have a stable reference to a VMA: The VMA is > > * locked and we know it hasn't already been isolated. > > -- > Wei Yang > Help you, Help me