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 CE7B4C02180 for ; Mon, 13 Jan 2025 21:19:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4EBA06B0088; Mon, 13 Jan 2025 16:19:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 49A9B6B0095; Mon, 13 Jan 2025 16:19:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 362BB6B0099; Mon, 13 Jan 2025 16:19:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 14D306B0088 for ; Mon, 13 Jan 2025 16:19:03 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BFED4140344 for ; Mon, 13 Jan 2025 21:19:02 +0000 (UTC) X-FDA: 83003693724.29.034F329 Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf24.hostedemail.com (Postfix) with ESMTP id E87E6180008 for ; Mon, 13 Jan 2025 21:19:00 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=b3VkJ5qa; spf=pass (imf24.hostedemail.com: domain of surenb@google.com designates 209.85.160.180 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=1736803140; 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=ZtMSrBdSD1WyW+/bmHD6GIAtvwp9TVQ1tGkdYov9OtA=; b=23b/5NAqKOR3l6M3RsC3hBVEq6VK1QKDS/OHFy/8PeH6kojoaGIY6FjKgwTWJf1EjcMXfF P2wnG1b5vsp4xyW6nfjFin/wMVJQhOOOMu7/uXbeVyYutu4DYI1IYNtcbJdhNaEEL2pm8N FBdMdpbnkL3Rz4vIEBZhG98yW47Edek= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736803140; a=rsa-sha256; cv=none; b=jdsCLXgTPyjN67vTOCUoGSyCRjtx1JhrA5lPT7GMpsj93VTMMOhltpy/6bHYpatxSLK/R0 de6+PkUlu+nubjYxVUhJ87J5sW6+O0mikKe46aEZ62QrsN3JEFaSdfgOXJDT9YEBiruwH5 4Mo6ge1E6ZpsHzt0uYCWtGe3dMATlJc= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=b3VkJ5qa; spf=pass (imf24.hostedemail.com: domain of surenb@google.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-467896541e1so67431cf.0 for ; Mon, 13 Jan 2025 13:19:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736803140; x=1737407940; 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=ZtMSrBdSD1WyW+/bmHD6GIAtvwp9TVQ1tGkdYov9OtA=; b=b3VkJ5qa63mzx6n5++9/oHUJhFy2BmMwlAEA6OAB7Icwq58OdXibIvRblm4wfnl1+y lSU4ieZ7trzErnLZuLBo5V/W+5i9R5QiRqTGMQezALSVLzPim5ObIh2v95oiptAD84x+ LzzNNRDiO/pNe49Vybc2eLKvCTZ6ltxfGT3ergbbrQ5PaIbbgah4taMQfKdS1z/c0921 bYe/RiUUSUV36Fkzu70eGl8mo1JKVquiguSRHeY5YyBuzjfkYOrBk+/l+KiwijOb4UJ2 QNA7sU1/8mqYe/Na48u4mI76C5ZEyhODS25lNLJvTxzNHniYa8jleOr2R5oSMrymcP8U 8dJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736803140; x=1737407940; 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=ZtMSrBdSD1WyW+/bmHD6GIAtvwp9TVQ1tGkdYov9OtA=; b=Q27BFYpkMdmxTt/U2zy9sNmDHqKdrubUHfx405HXgHtbXqul3oOfUIBV/c0buKejRH PFbMra/r/xox9iHwAqesImFRm0XhEzLZ1sD+6olYJ542QvHXgdUihP1DWhnodUop9AUY kiDreK6YUwDMIzRPs17t7DWch581xkAx0Ospw4IgbXrOXXN2MIeEJc1xsXvkppDBLGHL HDuwd1Z88B2FxcL8kSJD8On5ORN+jAtTB+KmMRJlr2z7+VT3C56Cnl9e+9AkEq2EMdDY OVwamdDORufX4NIZ7xNHIAbT9zALzkRL/VUpWQ/VJS2YBkseqV8X9FYBG+wN0ISOcHLG QsCw== X-Forwarded-Encrypted: i=1; AJvYcCUWjVuaBl12mDP/zwoYpavke0Eti6Du4/NWBoSbz5NU/T9Bz1gdhoRNL/X6iuKyjmFi2dOO44yl3w==@kvack.org X-Gm-Message-State: AOJu0YyppQdqgNZFIXuuPCN8Wkvd+DPGtp814qii9SGr28niJhI0oZxM o1EKwQMemvY9Hfee6X2DFo/k5Zc0Q3EdzBRp4iG0qRH0iHahLYdA+odCidrfPTtyJWe7dBOioOo wvBKZ/lQR0dj20cGZIXsIpg/lJiI/FuJKd30K X-Gm-Gg: ASbGncvU7K88v+wEH4Epo/0ju8PoC6ePtc64vHbEjtY4IFJnY4G7X4ML5fcB4hfcM23 GuSGPgJHHXjRJVe4gdu/67H/RV/4KyoF+9OBHSQ== X-Google-Smtp-Source: AGHT+IFhhek6CRujAvqPLNOqlKag4xW2G09GK9bsPCJBvIEEsvbG3fQol1M/+lRBiYUbJd7mqSdkZjvsPn4nng15dxQ= X-Received: by 2002:a05:622a:1aa0:b0:466:90dd:19f3 with SMTP id d75a77b69052e-46de99be708mr565921cf.7.1736803139828; Mon, 13 Jan 2025 13:18:59 -0800 (PST) MIME-Version: 1.0 References: <20250111042604.3230628-1-surenb@google.com> <20250111042604.3230628-12-surenb@google.com> <20250113093611.hmjmizvt73mrq2y2@master> In-Reply-To: <20250113093611.hmjmizvt73mrq2y2@master> From: Suren Baghdasaryan Date: Mon, 13 Jan 2025 13:18:48 -0800 X-Gm-Features: AbW1kvZsEqGrLSIs0VIWlzkP6ofP2l1u26oVzJKobxz9Q7GM1FQylAsV5mynLcg 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: E87E6180008 X-Stat-Signature: w5w71uih5p1eqj78kcz3ry4he1qb8bgq X-Rspam-User: X-HE-Tag: 1736803140-661184 X-HE-Meta: U2FsdGVkX184q7phiVMcKAlG3viTRpbgYTcQyy9+vUh/AZesXbDeQL6OYL7LmQ97sOOgwdWjnXiApmWPqp7Utapd7Oz6SKOEUCVjzw5zj3MaEP6Nu2yAYsozyXoaReBfJctgTJJ1PxsvlJpK4M2xGAcHFgT/lWhq7XD6qwxsZHxUKq9CvxdSqbXm9MnP7CgXQNX/BYQ5b6uPczjDgWnf8/h4n1CCfj3cyFUbP0MvaVP3nlMgGpJD728i+/8QT0AEi21I2pY5bkT9A6ieS4aRbBcJuXPZNoIICyrRN3ClPefnmFVj5euh/1zGr/Ct6ocktLL42/MxVv4h8pZL3gVMs++83wI7rFZngX1OAAGcHiGwaMPJfPtpz0hie0VGkOI7qOnNg4r2NM3ZQtmSVsR3u9VtnEA3YSimLUmYLFcXJvXmGlfjEwcsDwNmIxgaVimRKmsD8zJIJ0bzf3rz+Ocx03eVMM6Bg0ZFRcL/3q2iDKvb4+ju/vf66g3LZeLBEQz6IO27SBsfj4E2TXTfjcRLK9JyqUSm04cNloAltPAJcI8jX418k0nA98Ntm6XieeO/XGmSWivBl3siw5bUeWKIJbihugyJpOe7A0/uWAsMxGWRSOg1A88dA5ZjFaIjQcN9YoV79DsHdNMatTbUVC78c5a+pQFlMjMAfzst2C+AzSzD0FICKoULSqFFD0nQ1oWzbxGSNjTDixKS5TGAfLfxB6G3/2cMW1FE0xe5Uq1p0OpRlfs2wbg7D7I6bS//SyZrn7M/c3oHQlOnG9iWT+qb1via/6gNjXKbB/sXzOzyOJCdTw24+ecZBbfeLG3S52CAE8xjmhHyi664fgO4O0o27WPU9DZzVy+9SzC9LHk4ddkQBnZ7QAakOrwU/Zzga7rs4UA6c1Ij+r52ONqv5fOj5YeoTPy6RnuSi7coXhjRdrvIVeq/4KxhNYMVko9+yWaRXxgFwFuYo6jXwPLHwKA Mt3QFzIW DX/6qvbhIRIfv26rdAqWoShx8NaRCjlsSud+CrSYInrRm2o5UxFd5n5JK+1Sh+naaFN2xqA8Bo+0dluT9Z78YhWQkmmGlmtZKFmA4dul40caznAJ6kg1Pj/udf2jRYJO+lmDP1YQIWe/hz9HpzdPOhSOCWq0GvXifeshSfafC0sXlhjHwhDqhWCcqhrftpETFDJXnoeF9/XXNz2l93WcW9gNqtLCuwiAuPg/ijy/DcEFlGfb+JfCJgjqxXjqQD6Peff/aIxNaNNWtQuY6ny3pr//AIwgOInW1Eb0Se3Vt2bfe32CtPZsw48LvVCTAgazj8GIhq8qph6tBfMWEyMIjRFbMdA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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, Jan 13, 2025 at 1:36=E2=80=AFAM Wei Yang wrote: > > On Fri, Jan 10, 2025 at 08:25:58PM -0800, Suren Baghdasaryan wrote: > [...] > > > >+static inline bool is_vma_writer_only(int refcnt) > >+{ > >+ /* > >+ * With a writer and no readers, refcnt is VMA_LOCK_OFFSET if the= vma > >+ * is detached and (VMA_LOCK_OFFSET + 1) if it is attached. Waiti= ng on > >+ * a detached vma happens only in vma_mark_detached() and is a ra= re > >+ * case, therefore most of the time there will be no unnecessary = wakeup. > >+ */ > >+ return refcnt & VMA_LOCK_OFFSET && refcnt <=3D VMA_LOCK_OFFSET + = 1; > > It looks equivalent to > > return (refcnt =3D=3D VMA_LOCK_OFFSET) || (refcnt =3D=3D VMA_LOCK= _OFFSET + 1); > > And its generated code looks a little simpler. Yeah, but I think the original version is a bit more descriptive, checking that (1) there is a writer and (2) there are no readers. > > >+} > >+ > >+static inline void vma_refcount_put(struct vm_area_struct *vma) > >+{ > >+ /* Use a copy of vm_mm in case vma is freed after we drop vm_refc= nt */ > >+ struct mm_struct *mm =3D vma->vm_mm; > >+ int oldcnt; > >+ > >+ rwsem_release(&vma->vmlock_dep_map, _RET_IP_); > >+ if (!__refcount_dec_and_test(&vma->vm_refcnt, &oldcnt)) { > >+ > >+ if (is_vma_writer_only(oldcnt - 1)) > >+ rcuwait_wake_up(&mm->vma_writer_wait); > >+ } > >+} > >+ > > -- > Wei Yang > Help you, Help me