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 CC98AE77197 for ; Thu, 9 Jan 2025 10:36:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DAA06B007B; Thu, 9 Jan 2025 05:36:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 362616B0082; Thu, 9 Jan 2025 05:36:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2043C6B0083; Thu, 9 Jan 2025 05:36:23 -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 F34DD6B007B for ; Thu, 9 Jan 2025 05:36:22 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 741BA1219C8 for ; Thu, 9 Jan 2025 10:36:22 +0000 (UTC) X-FDA: 82987559004.12.C98A186 Received: from mail115-69.sinamail.sina.com.cn (mail115-69.sinamail.sina.com.cn [218.30.115.69]) by imf11.hostedemail.com (Postfix) with ESMTP id A45844000D for ; Thu, 9 Jan 2025 10:36:19 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf11.hostedemail.com: domain of hdanton@sina.com designates 218.30.115.69 as permitted sender) smtp.mailfrom=hdanton@sina.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736418980; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fmLjJNBmIppOeMlPG4OpMDEt2DCR4oYUbHj/zeQoBQE=; b=PtdL7IneK1PYjv4svt4PS13fqNCOsZfuLKhAYwyGPj+6yym73lKQAnMA2I0s28u3oCc0Xf sg/r043CEs7sBlMlfAvraQwmBD/aGqHV44RbGHELs9aXnL1IG4BSwEyR23O32dZvzhzQK9 JbLWRJVMGBZ8QVA2AX3X4GpKFg+QQ0Q= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf11.hostedemail.com: domain of hdanton@sina.com designates 218.30.115.69 as permitted sender) smtp.mailfrom=hdanton@sina.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736418980; a=rsa-sha256; cv=none; b=h1VUWqptofqCFwQq8ys0mswHXJZw3ZTQBNzi6HZkZxHKxI1MZM/O16424aweZVbIlZP3V5 q8tLzqf70uql+sguglKKcHpHIxGgXJIWla6KIbBanfstvwvgOBOo4BhtrmZAV4O0Ln04qK JoG+imK+kzL772nNUNPPHkRTvF5fIt4= X-SMAIL-HELO: localhost.localdomain Received: from unknown (HELO localhost.localdomain)([113.88.49.137]) by sina.com (10.185.250.22) with ESMTP id 677FA69C00005730; Thu, 9 Jan 2025 18:36:14 +0800 (CST) X-Sender: hdanton@sina.com X-Auth-ID: hdanton@sina.com X-SMAIL-MID: 3179197602762 X-SMAIL-UIID: 7A752A1180A04EDF9621790FA3977399-20250109-183614-1 From: Hillf Danton To: Suren Baghdasaryan Cc: peterz@infradead.org, lorenzo.stoakes@oracle.com, hannes@cmpxchg.org, hughd@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v8 11/16] mm: replace vm_lock and detached flag with a reference count Date: Thu, 9 Jan 2025 18:35:59 +0800 Message-ID: <20250109103602.1555-1-hdanton@sina.com> In-Reply-To: <20250109023025.2242447-12-surenb@google.com> References: <20250109023025.2242447-1-surenb@google.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A45844000D X-Stat-Signature: 9fdxareosmwty1wqrusmmbf95etb15g9 X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1736418979-736901 X-HE-Meta: U2FsdGVkX188Isr2WOnR4breBjGTLczZ2X8wV0xOiUG2ULKiGfheNH3EsvcFU0pHqtwVImFPJogxs+7tr8XIOr7ZKz3tbPc7xeRt2Sjzm2B+SxrIUFiiA8xsvWbs2b9/Q+Fe47hppmtZG9Ul02/ALnWlcggS/ouK73WRFWFbFzuvg+SuGrRD2Te1ykS46LUob911AyFpU/Hp1XBncSn+D4XeYYJu4T1BBcVMufntOaFiZSoa6KxRSpJtHZsTZ9m8NfJraC9uF5J+EEN6bjvvFZrEQMxOJrkH9VB5ovbHv9Dc3Uj3YVPtcn6w0ja8q4CF97c0gmsOgKzZeqi6CLGzYx/93kZnwi2Mh73s1u/114hHnkoSrRuGa9vI06T630eXQ7MQe6RL9kD2P9rWd4v/Jiv9hEMDz1wxVUo9D3wCiCRAwHvUds5sYgE7nGhZ58VeAzWImLRTiUaU0cUkTE7gb1IB65fItuu4me3Es0AKAx0EFJ5uMoQfbnv9J3iZszR54Nys4QgN7S1h1GZEvl7lqMQx/PI/HidpLzIwMmUNPpjhsAIeXnkPhPWv/HNfMT2GeMXoskVQ/RsusWyuFe5dM8BQ1bBjr9m/VSG97csefDJ+MG3AhCAALLvdOK+6fuIKBIvn7X72k/X9G8ixQmNrZkqQpErX3cIJWJEJmW3GTIh64jAhh8w33ssr52Y5SLnOLRIzJp+SOthP74WhfyD8PbAsQX0X9659FZ+LfiG7ja8Ev3FNM0d2/6dvURzKBiyllElLLmo78ZinhAIKUeXCTDwIT8qSTXV4qZKocesTSLCSShv5TL2z/1oEXVrfxAi/UQ4MgoqN6Tj/Uojb0T0CZgvhOPlwg3pRa0InSaZRJaIBYEEeDWhHZA/L9n1+nCQpbC0ybblmDaonFUf8Uct3fWqdGU2nln0ZG5RcZqnHS8XDFvjsUG7lFsmwdHBgqH/4J2jjJXbJ3RyGSkYAJfg jnhb9YML GpJXuQ7QfpTPwr7vMv8D/CL+AcWnZkuFvS2p7eVNjlgQrKml9BR0WVRhzJQPPhjCNHFDZpPIL8YYDW7LGtkXAH8i97l2QmgdufcPNLr0pAz9up35noHtveBsWxfVQvnxGTOidJKduk+gnfsIsqWUeEWyUYGLCK1e2ErrquftNAAZSaSByr/6VNqx1Pg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.002068, 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 Wed, 8 Jan 2025 18:30:20 -0800 Suren Baghdasaryan > + > +static inline void vma_refcount_put(struct vm_area_struct *vma) > +{ > + int oldcnt; > + > + if (!__refcount_dec_and_test(&vma->vm_refcnt, &oldcnt)) { > + rwsem_release(&vma->vmlock_dep_map, _RET_IP_); In up_read() rwsem is released reguardless wakeup, which is different than what is added here. Nit. > + > + if (is_vma_writer_only(oldcnt - 1)) > + rcuwait_wake_up(&vma->vm_mm->vma_writer_wait); > + } > +} ... > @@ -735,9 +773,10 @@ static inline bool vma_start_read(struct vm_area_struct *vma) > * This pairs with RELEASE semantics in vma_end_write_all(). > */ > if (unlikely(vma->vm_lock_seq == raw_read_seqcount(&vma->vm_mm->mm_lock_seq))) { > - up_read(&vma->vm_lock.lock); > + vma_refcount_put(vma); > return false; > } void up_read(struct rw_semaphore *sem) { rwsem_release(&sem->dep_map, _RET_IP_); __up_read(sem); }