From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 69FA940E8EA for ; Tue, 30 Jun 2026 13:03:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782824593; cv=none; b=qGN5jSTOiBn5AIpL+Kd2PKnLbugUMVk3Ivmt1N485SGbyrhnlQdR2X1CwTlguQGn4Q2bMdRiwKPK4Eq78kZ2IhCVi6F5Z3LMZxcHFnbsjYyCamp1u5EEUe+/CGJ5o7jKmKuf5sEtoExzW8m3b9lvtuLhHr1n097ATzLU9IaaHu8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782824593; c=relaxed/simple; bh=zbZj1eTFQ2tN5Ip1rRIEeGbq1zUUXEHG4wyGOjl2ldE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cb+Tvw3KfxcpTxYztlyEB0rV/fZU+ZNCN9Gq/41TCA4T0kZYA/I/vhGozJ2rVirFjO4vJ64o5XPUA6EjQCZBAlOrjB9odBqq//6dTWQ+IlLD6UwFjVzQqjOd6K0X8OmIUOxRc/5PWeDOw2rE4ECjiDt8YbhKO/Q5IlhRgn1dVqs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hvI5oWXj; arc=none smtp.client-ip=209.85.208.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hvI5oWXj" Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-39b1026e171so22261831fa.1 for ; Tue, 30 Jun 2026 06:03:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782824591; x=1783429391; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3gdtD0uSCiAIlNZn+1RTzu5l2zkwsL/Gs7YEvXjMsVg=; b=hvI5oWXj9cdSsv6PbWbESS7mFkQf7jK6+7CnTEsc9x1LeoZ4sEdJqnny4sdDh3lRFj KzOFTsFMGjvc59yX8ZW4oEmshcqZMOWLvp4f5AgkWjB5/IdclNWeP3nArkCQztUZAPKs c7IAdrKI8lH5FFwHB5T8qoAK7rxIz1j0ksS/Xh3/8/dNSyhInI6gllFsSdfbEnWuNWex 9ojx+Ye82H+KiL5t8fr/3elZGSktX0YwOnKdk5xuHMtajdH18GjEkDG9l5RJnai4EFM2 0v9dDWa+cULOXnvOOKdsInp3bJN/677Q7sVwbNNuW83MBqw/7+RBDYb7WKZ3E43ptxKv UZiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782824591; x=1783429391; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3gdtD0uSCiAIlNZn+1RTzu5l2zkwsL/Gs7YEvXjMsVg=; b=UPVI1DlXoX2Bw68WbQxaDnaG2C6pbYTEEj7i6dsqL+6EjUpFG/D/+3APCuqFTA5v8R 4dYL3Ru9w91YPpKBjkJyxUjHe7+zbvl25RZwAvFmZAuTP+1ouRLFWva2HJDwXFj/47wt 7TZLU9e9HVzec1/oZRF7FCcNivLKnmdUZ/78pO9HM/WpwXOF5SQq4lKW299RFWveKfio Ehlcf5/MXgPqW3No359yRM6p50PfBFxiFY47BRv6cGTxARQ/8BY+Ttol6XSu8P4tcTYd d+bVFP50rtfX8g5Llcr4NJ51lkGYxXoQP63Ulhzluoyh0MimXH+Fhll7dyk6vxxukYGH V7tw== X-Forwarded-Encrypted: i=1; AHgh+RrRivcHgeahpw62/309IaQAhGGkco2w4dkf1IFbTU2Ikfq1wUmkHF8T3EK0/PBFvF6u7sM3L9F92EX7zUI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1RhHpNURFBND69vMVnpuqLRHs0NOxucJ+LDF+jtYBafdAuLhd LmTPpKC1MpjFSiy8tiYFTZ3HV/WHsh9YgcQxp+lwzBC5+Wd8SmGfl2/s X-Gm-Gg: AfdE7ck4qgur8Smudcuov7inFaeOr0OJBCgU8S+9sgFyedNn0WhV9SE/jJJjQSPoC0S 6zTMWEnz3J9qD1wLu4e/+bfk2R3ZWS4NqDh/YWttltgW77C55oZ4G8Zd/m03We/8tgRK3oz6o2o 42NrdJly15SDk5SCQXbZsOt4yOwvRlF/tPN5NJQl+/m33+n5IzYOOI+wdiCq0Scd2Js8Pmj1tte He4hLgciuGJHjlfdda64OhDkcBzgm+H50jsTbN87xZwUrigiS7PHttFx6T1RDoB4AMR/X7DqjNS cdm1p5rFX9g5bnt3g5fb/T0KKjk08z/mNtKMRVLLi3g5cR5bfuAPwXegEd9fRF0XOPOtM7BqpiS RMhazUMPyqhxHD7MZ3WWKB/+CMRSbya1wtUmcdnhdYe+aAOU96ay62SynZFP0Xc7MZYgMs8I5r5 oXZK6gWNeoqZOnTDsYeoMkYNz9CnSgjD1MEd/fwHrca+qgwa4L1spNUZvTU7SR8zpqTZtUi2Y2N fQll5A= X-Received: by 2002:a2e:bd83:0:b0:39a:e29b:790d with SMTP id 38308e7fff4ca-39b1dffbb41mr8707321fa.36.1782824590328; Tue, 30 Jun 2026 06:03:10 -0700 (PDT) Received: from debian.localdomain (95-25-158-125.broadband.corbina.ru. [95.25.158.125]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-39b1da4d241sm5301431fa.32.2026.06.30.06.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:03:07 -0700 (PDT) From: Igor Putko To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Igor Putko Subject: [PATCH v2] mm/damon/vaddr: remove redundant RCU lock Date: Tue, 30 Jun 2026 16:02:53 +0300 Message-ID: <20260630130253.3843-1-igorpetindev@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260629165349.4260-1-igorpetindev@gmail.com> References: <20260629165349.4260-1-igorpetindev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit __damon_va_three_regions() is called only by damon_va_three_regions(), which already holds mmap_read_lock(). Since mmap_read_lock() is held, the maple tree and VMA list are protected from concurrent changes. Remove the unnecessary rcu_read_lock() and rcu_read_unlock() calls. Signed-off-by: Igor Putko --- mm/damon/tests/vaddr-kunit.h | 2 ++ mm/damon/vaddr.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/damon/tests/vaddr-kunit.h b/mm/damon/tests/vaddr-kunit.h index 563fbc7e3..70cb7825e 100644 --- a/mm/damon/tests/vaddr-kunit.h +++ b/mm/damon/tests/vaddr-kunit.h @@ -81,7 +81,9 @@ static void damon_test_three_regions_in_vmas(struct kunit *test) if (__link_vmas(&mm.mm_mt, vmas, ARRAY_SIZE(vmas))) kunit_skip(test, "Failed to create VMA tree"); + rcu_read_lock(); __damon_va_three_regions(&mm, regions); + rcu_read_unlock(); KUNIT_EXPECT_EQ(test, 10ul, regions[0].start); KUNIT_EXPECT_EQ(test, 25ul, regions[0].end); diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index d27147603..345b89b5d 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -84,7 +84,6 @@ static int __damon_va_three_regions(struct mm_struct *mm, * If this is too slow, it can be optimised to examine the maple * tree gaps. */ - rcu_read_lock(); for_each_vma(vmi, vma) { unsigned long gap; @@ -105,7 +104,6 @@ static int __damon_va_three_regions(struct mm_struct *mm, next: prev = vma; } - rcu_read_unlock(); if (!sz_range(&second_gap) || !sz_range(&first_gap)) return -EINVAL; -- 2.47.3