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 679E0C4167B for ; Sun, 29 Oct 2023 20:11:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AE3CC6B018B; Sun, 29 Oct 2023 16:11:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A93D16B018C; Sun, 29 Oct 2023 16:11:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9834D6B018D; Sun, 29 Oct 2023 16:11:48 -0400 (EDT) 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 8C1A96B018B for ; Sun, 29 Oct 2023 16:11:48 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 62A191403B2 for ; Sun, 29 Oct 2023 20:11:48 +0000 (UTC) X-FDA: 81399594696.06.940508E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 7FB9A1C0015 for ; Sun, 29 Oct 2023 20:11:46 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="H4Yk/YOz"; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698610306; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=NHrqX2dC2lEhCtw3IxHryPs6MHyo/+ZGBHAb3HIxQc4=; b=ASeupiCo51lHHM6SDHezMJWvjySPmhBFlNVboP/GWHcfSzMZDVM6kbJuf+tTdGo43e8vMw ieBOLyXD9A7sVD1fk2A7T3IIdCREgYPY/+wVYGenMFKLX9/eMvet5bTKEWfKlkykQoEcJT sJA5BNikpZDLFuOA7A4RYhZdRXbMuJo= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="H4Yk/YOz"; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698610306; a=rsa-sha256; cv=none; b=v2X8QEycdI0aPPWQ6vMpFv7yp8KgnN8cstOKS2ry8KVVzPBEWGe0fucdDX661YHO6llBUh e2t31vM7rYa4Ftg/LUijKp7TNV4hbmxbu8TYXBTYeEnfA7OKYAYXam6arkc28ScuRvVAAU jsyvyxOX2rdZ8n7PmxSvZ8www997ieY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=NHrqX2dC2lEhCtw3IxHryPs6MHyo/+ZGBHAb3HIxQc4=; b=H4Yk/YOzLJ3l9KWC52qtmtxpFo dJ57w9BQ35z8V72QCTvP1nJSapmZxeQDHMsiAyzO/EtGniTRnuI5D7z5QoG6PmWimkfRDSxnuM5H6 lbjX0G8iBUW3ct7sl/MxKhuLLSMo3HLSB953r48DiSFyz2IImBg/sYyWH4bB8Inq0v601G9jpihOU 5/PMxD0OQiymEXQ8dRl8bHgQ5rlFpE7zqOBnmL6IySER6oUs1o2/IQn6GNMcnj3vtZf6eZpLjDVyy sElUCa6DvWTJOlYziHJcF97elZewKiEP1ZSZ0o7x6MYB0T5px8sC1LDii5bIA5E50oMAh2TOGZ2/R 2xX+w1NA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qxC8C-00HTDK-E7; Sun, 29 Oct 2023 20:11:32 +0000 Date: Sun, 29 Oct 2023 20:11:32 +0000 From: Matthew Wilcox To: Daniel Gomez Cc: "minchan@kernel.org" , "senozhatsky@chromium.org" , "axboe@kernel.dk" , "djwong@kernel.org" , "hughd@google.com" , "akpm@linux-foundation.org" , "mcgrof@kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-xfs@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" , "gost.dev@samsung.com" , Pankaj Raghav Subject: Re: [RFC PATCH 01/11] XArray: add cmpxchg order test Message-ID: References: <20230919135536.2165715-1-da.gomez@samsung.com> <20231028211518.3424020-1-da.gomez@samsung.com> <20231028211518.3424020-2-da.gomez@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231028211518.3424020-2-da.gomez@samsung.com> X-Rspam-User: X-Stat-Signature: wsxtmc3egd4zbmyqw6cz96dn51bhcf68 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 7FB9A1C0015 X-HE-Tag: 1698610306-899567 X-HE-Meta: U2FsdGVkX1/VBRSBaBqyvGkVELZFY5vphGpkUOZ0tlvevo3f0G0cAMVYkMXdJCkDDpnNYL1a36KJTANq+pYvkWW1Tf1ltK+DEHQaPZEoW+RyclmZMxsVS9Y0ytMlGA3TTYyICkG7JB87ur2wwCdoWz+zbB2Ey3DTzh8TPDeCsMBKiKXs844K2VTv2OKRaFb8V2cuhJYRACs45Cu5Nf3dqPfCyMOj0ikv0VGGzSlqjhH3xvQuishC+slkDXaVHGYFAaWaJmOaU9xQbOuept56THwIjkWlTDwjFub5NEI/avJEo92INGQEXezJQ3zQOuOLE0turOhRXRHPkCXPb2quYvfzl/ctnpSa9pN4b395QvzpBwJ7mMeqML3s5fTYGlK6sRG7g4hylyJcKrKrpN4SDfzEaGCNbjDrX5qWKshr6qS1MIMQWBIuAUH/oxMal4lEl1xQF/4tMVVtQXHCVzOECiSrD2tlGP5sNNErYuu5NVVdTv+rDxm/HJ7YogdmXe7comsHdWvHFo3b5TBXDf/15eLrDFNyQGONjfO3ktREtMILRZCdh64i8ZCxAmaqrBni1ksH80LioAOemeUfrSROSEQ4aWVHULQ0ZyWucwfwbMglXUHPJ3PNPgD6ZFoNMOJnoBZ7uHZu3BLXno54+C5yfhJRzFfppXd5QBrzRPZneJlJEAzgEQGbgxYpVYNnQiaT0DXD7qa6hr81kbtb06KLgig72hNO07s5tS5ooIr5dixcDvyaBNxKRqCRZSgvTRhH1uDnMRzBPPzsRzffjsSbwhivoFzrR7N/QS9997h9YjA38ZnX9MQosL5k/24besqDCljt0qnuzd60jtWplNghm/HO6mX6acoSAK5JqV0u7fW62yyxw/tj8AWIra5YRdAutZzSWtvJWB/rEK3c8qxodhGjKTD3NQ67/1G+7NejjBsIWrMt4MXJVJdDDcETlx0nCvJjYMT7QYmtQm6bucu pB11Sm3i PWQC+GvPK52opCGfKzWqRn5hIsZvqaHseXDHsvABlS958aQrxMG/rNNvKtfcyV+bBN3AViWxd1krXslhOK6/NSK3UGF0nnUf2g2/JiMHt4R1dej36rouzh5QxHzgTMvO8JaqGoGAoAVdFFwW5vQgAE1Q7N7OUeJvfQ+XtrzDccmIsAQQSWhhE+0devA== 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 Sat, Oct 28, 2023 at 09:15:35PM +0000, Daniel Gomez wrote: > +static noinline void check_cmpxchg_order(struct xarray *xa) > +{ > + void *FIVE = xa_mk_value(5); > + unsigned int order = IS_ENABLED(CONFIG_XARRAY_MULTI) ? 15 : 1; ... have you tried this with CONFIG_XARRAY_MULTI deselected? I suspect it will BUG() because orders greater than 0 are not allowed. > + XA_BUG_ON(xa, !xa_empty(xa)); > + XA_BUG_ON(xa, xa_store_index(xa, 5, GFP_KERNEL) != NULL); > + XA_BUG_ON(xa, xa_insert(xa, 5, FIVE, GFP_KERNEL) != -EBUSY); > + XA_BUG_ON(xa, xa_store_order(xa, 5, order, FIVE, GFP_KERNEL)); > + XA_BUG_ON(xa, xa_get_order(xa, 5) != order); > + XA_BUG_ON(xa, xa_get_order(xa, xa_to_value(FIVE)) != order); > + old = xa_cmpxchg(xa, 5, FIVE, NULL, GFP_KERNEL); > + XA_BUG_ON(xa, old != FIVE); > + XA_BUG_ON(xa, xa_get_order(xa, 5) != 0); > + XA_BUG_ON(xa, xa_get_order(xa, xa_to_value(FIVE)) != 0); > + XA_BUG_ON(xa, xa_get_order(xa, xa_to_value(old)) != 0); > + XA_BUG_ON(xa, !xa_empty(xa)); I'm not sure this is a great test. It definitely does do what you claim it will, but for example, it's possible that we might keep that information for other orders. So maybe we should have another entry at (1 << order) that keeps the node around and could theoretically keep the order information around for the now-NULL entry?