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 6C793C0219B for ; Wed, 12 Feb 2025 00:42:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F3FAE6B0085; Tue, 11 Feb 2025 19:42:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EEF796B0088; Tue, 11 Feb 2025 19:42:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB6FE6B0089; Tue, 11 Feb 2025 19:42:05 -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 BCC826B0085 for ; Tue, 11 Feb 2025 19:42:05 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 64A004B391 for ; Wed, 12 Feb 2025 00:42:05 +0000 (UTC) X-FDA: 83109440610.07.25856F9 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf14.hostedemail.com (Postfix) with ESMTP id 53239100008 for ; Wed, 12 Feb 2025 00:42:03 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mNuMmUE8; spf=pass (imf14.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739320923; a=rsa-sha256; cv=none; b=hg/RTxxMWGOofXFN6SL4hKnCpTIC/5ADJC0cLP1dkGQG3pmlmO/rzbCHb4EnlxULOZPR28 hbgPtMfDuf8Vy72kRE90Ak/rSLCPOe1J0BBzISzoyFQAd8O5ZUO+Zlcmo6dtUmWXwszPOW kKQqKO/vL4vdC9U8JqQhnC882IYOi0Y= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mNuMmUE8; spf=pass (imf14.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739320923; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=X5s31JPbJlZxNQcjZTpBShO7c4oUDEE4t5hd+cVmRZA=; b=54blvXhFpeuEFit9OW7ubqXWbJXpRylWsN5W0i7ybgL73lyFdl6AEFX69fHwxQp0ZV4nhW 6AlmlsUhifPpOkgkbdFWa0tpkLy6dV5mt+WrWCLTLXZYX6F+/z1udOMNZ9lKsw8rkt9N2L 6GRAv+Y+9BcbjlrYqvfdTZWDI4FdilI= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5de7519e5a7so3873171a12.2 for ; Tue, 11 Feb 2025 16:42:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739320922; x=1739925722; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=X5s31JPbJlZxNQcjZTpBShO7c4oUDEE4t5hd+cVmRZA=; b=mNuMmUE8hNRJZTwKkYDcHmPOcB+B0esk/8VR9Tt0k16hddPtgGqB6Zz4M/Gz8WJ178 FhGg0fLEK3EpnzyddiJbrbd/qRc2u7n7JV16k/SOyv2WjYV4P5tflMOKDSTaXP3PV3kE 2LMklzb5G6vOZtPpi4CodrE9wp6qkM1+tiSR84IrWDC+XKeL5u6w88OBXLVmcdQCnXC/ tux99vkzhI7Zl1V4oSdjZ6KOlxCi1vrAiuJ5MkH+g40WjqeRtzJwRXENhdey/wgJMhDt Ke8vVDnGK6VDsy2zYxxgDfEs5TXlq146f8B7OQOCOohmMug0jkCltk05+eTTpfXKCt0S 5GWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739320922; x=1739925722; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=X5s31JPbJlZxNQcjZTpBShO7c4oUDEE4t5hd+cVmRZA=; b=ZyLhVfSO+wFrNy72rFRTcfEqgx2auUEMGbQMd+ad8lvsjTfwdgSVNI989k6rDb1mvR /7MtSGT84s27XMEbmHay57ZZ9BQhhQDVPdzH/1yTp4vHgPafFIZyRJqFrm02tM2jZlLf 0RJxPnXERrsZCB6ZTWb4qFMiQNkfBXkiIyjVkLkYn3Z+AtIKtQ8LICwnt2Gyto7oJacJ G46N5bn1FMbXBeRYoPwdX7cB3pz93GH3P9iHQQ5GPBrj+31giLFgYxa2emzPp3Mgqdhe jfg5UoapSeeChpFMkGE9Qr+w7SuiJV2A2TgBdDlyd/Jx0EfegK/NQGezuusyWy3tzMLD JFqQ== X-Forwarded-Encrypted: i=1; AJvYcCWsab8geVyEOVA3HrYsetIajVyBCbiYmTGSQMd1NGPD2q6w5xvtWlLZKH1VG5dh2Bipz6ZLVkV77g==@kvack.org X-Gm-Message-State: AOJu0YyZQaOciKP/kZfEn98DXhv5LyWZXzlkCpXnw/3EDNBLtI1Mzx8n XCW8R4AQtnKns4y48IDd1XvJ2C0LpVTOEfERZqMEkm+Tvd4bR3XzcGChc70v X-Gm-Gg: ASbGnct1zI5K5K8z9UEHgmzgwE6RY3ls7pjWd3CpRUDGjgms+wD4SO455hIEe8426rl SvFJQrKAD8DNFKRKrOcsTj2yHOCzASykpBf6BCHp3SQHPjETQcJjvcdZ8ydPopkVTIlDwsCTmoN Hyo2hLWfSM069bwdMrdsd8JxmOUg67uQ5JoDCV7F9Ln46LSlhKakmcxNunXLWIFWC48WJASUHNl KtLILjA+M1Z7TUQT4MJX1P9ItL4Bb+W/IH3DYwf9JFj2k14ccu6XjW1nyRwNiaNoDPzKN5AmoZc u/gu6GTySSXS0TE= X-Google-Smtp-Source: AGHT+IF0caA1DBtXkh9eNP3P28prrnoqEVm9/89qZGRLRstXusxBjwimEfC08etZWziyRODf6y4aHg== X-Received: by 2002:a05:6402:278a:b0:5d0:b7c5:c3fc with SMTP id 4fb4d7f45d1cf-5deadd78004mr1200455a12.3.1739320921524; Tue, 11 Feb 2025 16:42:01 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5de6d6060easm5839063a12.57.2025.02.11.16.41.59 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 16:41:59 -0800 (PST) Date: Wed, 12 Feb 2025 00:41:59 +0000 From: Wei Yang To: "Liam R. Howlett" , Wei Yang , akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH 3/3] maple_tree: assert retrieving new value on a tree with only root node Message-ID: <20250212004159.lmwmb4gl4s3uosxp@master> Reply-To: Wei Yang References: <20250208011852.31434-1-richard.weiyang@gmail.com> <20250208011852.31434-4-richard.weiyang@gmail.com> <20250211080227.obocjediyeef7ef4@master> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Queue-Id: 53239100008 X-Stat-Signature: 8gk1ztjuik1z8waurq4tcoj37tgz67sp X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1739320923-633683 X-HE-Meta: U2FsdGVkX1+9rsfuF5wx4WxUSO8riEqVDAjwNbSmktpw5zvnNLt60RyDNVhSzJ1HooWlEw/WPVctJAeQSmwdxQambDnNzG+vWNQ5r88ZXLMfjlO6ebTQaQ7oEVoOsVnWI1ac9kbHurOfJW/6T3TSU1ah/YfQNhVOa5sVFw6TQPH45Ox+qrWeeTil6EF2LrJmyIG1jZ+3s4KFhcrsvzwyHP5ngM69v3IgIpNMsDCaN9Ui/XfzHBP+zhm4S0KUTH7L8u5kb6yGY8jxeUL9Sel98q0JMre5mY3XU4fpnLB9IIYv7mqLKITVIIUoUHP00M7Ki3fW0UeG/gPTf6qzPQrZJNYEWsUDBYXgH9gFSJxig5UOTqcYaJMG9XJwiYQI5BsWEeYTePRByaIhn0kmSEQRpD9pZwEgBOQp6Rn+grRfGbww3LLq8qBCxztGugMo9K0m39a/FpAm2s72BzJ2Bw/3Qre+OHFFK/HrG6SNrbQ2BiLUtIlLjr9ejJDjVtsSrEkl+wKwZpzS01b4QamGADiV0b4qCry5pki589gdn0ikRMjWsfx//6VDrCLDG9yRSXrZhC9ToknUAt/mU7rlfwsQ3uULk5kxjcIW80eModOUYYdIGZ0IGdP8tfPw2kMz0T2IsJSpqViAfXyqfOjoCjcsHHTpJ27/Q4vV180tNc8uXfvmo0xELCM8gxly/qSBib2ZtohA/id4S5BAbvMIgs1BM/ixV5J49M//cIWXeKPcbDXlyalqPZ/f40su6Jwno3M9QxKVE9HXg4BWKbxD9AwbtSJ/lj8bSMYhTbQM1beiOGHRBvJFMZpaSaI6odyfdpOQTG1rXXUde5W86cQV2moQ6NA+yJ983HZRqlHcsofUra6FBanu5AmJvLoPtQ18enGMmLWltKk+KqnvmYwKzyjtFAT9CzDdZOPtLV/IPpxCCAZlXhze3T2jSw4+qH5Ken2HRSyjV5uX3E4GF/wCAKl mGUD/Wrg qL0Ro1Xs+yRUbOTGEnsWLijF0t7qidKve02jHpFqynedTQZgwQBUHF4+iAJaFCniRehfJzYFGg7hPIzcJygXnAI0hkciX8MKLaPtn9UN3XGl9GKDE4SyJ7X59RPPayyrAaJ0+HAl16okUaieTF92PvI/zrMjNKuQbQklVmD+Vgt1auX7kir0obny/NFMB+6YoxrkHraYTWJ4Sl/X5Sox7Zgy56SqFZiOSn6J9iZ9+4O+hgaJ+mrjcWYfVPYi9Nc9OnLDLOOV0iixQT+hjqWR3S6YrVK9gVPwJM95LopOdzdT+2JZLWhE4kyqKHNYOprIbf4f4dP2SVw18vduk+yCdQl59CPDVGxd8a52HOqMj7XNvSZJf92mdQkwpyMAJl53HUCgGGMUfOipCUkwix16rpDulHpCLdGdrBx2nx7/aHxqTz8tDqkOmJxgz3Z75reYewHAaNktPirG4NaQYfxDTgfbMVkszOCAcaNCaxOyoOGElIkoRypvJ0VHhf0SHwah2UdXfAWNdufm2jkaK0SToVE8fk1PhbpA4gaXeHGHRDXFpZU3CXxnYfsGVG7rh/fPSVGrWM4A51oEsAuTn1oKTmMDOFFLBSaeot4xY8uxgXU/qhMmQGPy35cKtTbJ7shWnXeaOiiF21fyA4NCC3Tc87Ck4r2wGmSAyS3dU74CwWn5GYq0+iMN7FoBQu08rS2i8AeQ1Jr165viKjpZxLf/Ju2Y4Vovjp2Np59BcPIi6sRqu6SsguZP9Ye1R0ynNqgB82Nf9 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 Tue, Feb 11, 2025 at 10:25:27AM -0500, Liam R. Howlett wrote: >* Wei Yang [250211 03:02]: >> On Mon, Feb 10, 2025 at 09:18:53AM -0500, Liam R. Howlett wrote: >> >* Wei Yang [250207 20:26]: >> >> Original code may get a stall value when overwriting the whole range on a >> > ^^^^^- stale value. I thought you were saying >> > it was stalling which did not make sense. >> > >> >> I want to say we don't get the new value as we expect. >> >> How about: >> >> Original code may not get the new value after overwriting the whole range on a >> maple tree with only root node. > >That's more clear than what you had before. Usually you try to >concentrate on what you did, not what was there. Thanks, I didn't notice it. Will pay attention to it. > >Ensure the new value is returned when overwriting a tree containing just >a leaf node. > >> >> >> maple tree with only root node. The reason is we didn't set the only >> >> root node dead during destroy. >> >> >> >> Add a test case to verify this is not recreated. >> >> >> >> Signed-off-by: Wei Yang >> >> CC: Liam R. Howlett >> >> --- >> >> tools/testing/radix-tree/maple.c | 24 ++++++++++++++++++++++++ >> >> 1 file changed, 24 insertions(+) >> >> >> >> diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c >> >> index bc30050227fd..1e293e4d856d 100644 >> >> --- a/tools/testing/radix-tree/maple.c >> >> +++ b/tools/testing/radix-tree/maple.c >> >> @@ -35256,6 +35256,30 @@ static noinline void __init check_rcu_simulated(struct maple_tree *mt) >> >> MT_BUG_ON(mt, mas_prev(&mas_reader, 0) != xa_mk_value(val)); >> >> rcu_read_unlock(); >> >> >> >> + /* Clear out tree & create one with only root node */ >> >> + mas_lock(&mas_writer); >> >> + mas_set_range(&mas_writer, 0, ULONG_MAX); >> >> + mas_store_gfp(&mas_writer, NULL, GFP_KERNEL); >> >> + mas_set_range(&mas_writer, 0, 0); >> >> + for (i = 0; i <= 5; i++) { >> >> + mas_writer.index = i * 10; >> >> + mas_writer.last = i * 10 + 5; >> >> + mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); >> >> + } >> >> + mas_unlock(&mas_writer); >> >> + target = 10; >> >> + mas_set_range(&mas_reader, target, target); >> >> + rcu_read_lock(); >> >> + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); >> >> + >> >> + /* Overwrite the whole range */ >> >> + mas_lock(&mas_writer); >> >> + mas_set_range(&mas_writer, 0, ULONG_MAX); >> >> + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); >> >> + mas_unlock(&mas_writer); >> >> + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); >> >> + rcu_read_unlock(); >> >> + >> >> rcu_unregister_thread(); >> >> } >> >> >> >> -- >> >> 2.34.1 >> >> >> >> -- >> Wei Yang >> Help you, Help me -- Wei Yang Help you, Help me