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 C0A02C47DAF for ; Thu, 18 Jan 2024 18:25:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30D616B00AC; Thu, 18 Jan 2024 13:25:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BD886B00AD; Thu, 18 Jan 2024 13:25:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1AC2A6B00AE; Thu, 18 Jan 2024 13:25:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0BDB76B00AC for ; Thu, 18 Jan 2024 13:25:42 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D2558160D82 for ; Thu, 18 Jan 2024 18:25:41 +0000 (UTC) X-FDA: 81693260082.30.211A0E6 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id 6A3DB40024 for ; Thu, 18 Jan 2024 18:25:39 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SsNUuUkH; spf=none (imf01.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705602340; 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=2i/k1Z2tU3KCpUOMZ3sK/SSQo/PyL7UxFRzxbgPK8Ik=; b=VIpCxV9r45Zj5NguVD2+K+NolwOK3gXxssFFtEqMDaC2tJicb7Oqn0pUQj6wv8Fqro9MFk jYOHrwe8SngqASUEjt09U5PXSei9xAkhRXfqvL5jYaYdqdRmgBOKCAuVehhRDmh5Ns3b2+ Q1iBAv+hWvvDep6HrHeBMOzW2q/e7dY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705602340; a=rsa-sha256; cv=none; b=0Yo7HPQmd+nOKeRRKXK70nfuMoRtFgaR/ZnNLK55k7HGWADlqyxtsyqu/Wvtk0pBNDlYTk Qo4qkJ0rZSzZ/rbhPq7PEz4l0f8H4wwYR+USr5/aX6n5Ocy74U6UnTD6n7/+5aiuWHpfHL Xj17kxuLbU5GJhL0KAcnsieXhONe4CA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SsNUuUkH; spf=none (imf01.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=2i/k1Z2tU3KCpUOMZ3sK/SSQo/PyL7UxFRzxbgPK8Ik=; b=SsNUuUkHnxggJEdKhDGSwjWYUv QB23fJ4pju35mJcfq1+iTizo1sbQSKRv8cKtiqzVcCkXD1W03FP4TanC8zcDofzuayFeNFRo09ePs F7ucH4v+p8x450QdZrGsCC1YqGQ6ahbmvHEsWpOjUnFms1MQSTLN14+zv+x4FaBxrU8ottnN38Xkx 7kjYmrfxE4JLIdmkKYGqvPoUgUcMcSsW7l4B99whiqgAVIker7n2KF47sJAwCrGUUBIwEQTkF0dOn 328+YHANH52L0riSiUrTaoanholJk38msH/VLlHCPhOsbXzyE2PCdhKezKTNwHbAtJ8pgiy216MOj JLgXru5Q==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rQX4t-00000002pFb-1QhZ; Thu, 18 Jan 2024 18:25:23 +0000 Date: Thu, 18 Jan 2024 18:25:23 +0000 From: Matthew Wilcox To: Yosry Ahmed Cc: Chris Li , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Wei =?utf-8?B?WHXvv7w=?= , Yu Zhao , Greg Thelen , Chun-Tse Shao , Suren =?utf-8?B?QmFnaGRhc2FyeWFu77+8?= , Brain Geffon , Minchan Kim , Michal Hocko , Mel Gorman , Huang Ying , Nhat Pham , Johannes Weiner , Kairui Song , Zhongkun He , Kemeng Shi , Barry Song , "Liam R. Howlett" , Joel Fernandes , Chengming Zhou Subject: Re: [PATCH 1/2] mm: zswap.c: add xarray tree to zswap Message-ID: References: <20240117-zswap-xarray-v1-0-6daa86c08fae@kernel.org> <20240117-zswap-xarray-v1-1-6daa86c08fae@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 6A3DB40024 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: dqwayw9pro3rsi46eq8wkqsm1uyoatww X-HE-Tag: 1705602339-201016 X-HE-Meta: U2FsdGVkX1/gTv6Q0cURV5EcXcmJGwriO545MMW+9Nor5k0z8QoBmiCWF/qVrwV8dETsBs/xSpwhMUtNOo+NR+QUFa5NYeiYPIPkhK9BVoDZm3ELyitYh3fJrgMf6U6mNh1xUIarOFQaPFiWOmjPTi9O4zFq/hijZFC/heBRXJhZZITMA61bzGAsxaBaxOUJimJ62FaBOQJdvJy5SxMmAwaXZPMHgUZ7YoqjfILq/H1hLNHibc0BD8X1KOjOrB1YHY5axLywTAZqplILtw0ra9HjOPsoRkmuALOwOJssr6hXC3MgdQSn5fIW0AnAGRRRS+Zb0C2UD9F/D/rohJsuf6MKnnppPQ3UdBJjD0+kyivVqlvTO9Gv8xZzOgrH/L8eJlvEq17Ss9x2byHzNUaQQvooXiPpQ6xnIulXbGA6pRFCMVzYViFSFDoTQg9UZ6UxLy6ANKrY+TFPLOSVzMEd995iimbYXbn60HM93E5dRirTXSBdqOrFeyETyBfpHVu7hm5vkVgvLS0z1nm2oTb+5rXri7+W7zurPwO8UtMu2QwLD47v3eLHasVbMyu6SMFPCIMn7kxKm3yn7/B+pFkONsdzckO0KItIR1KuzQgbBx3W2LvJxD5PGofLq7sKZ8KOOIEG7tcRmfBeFuLRbRE8maZBNSOiQ9Ef9iUKpFoHHggjaahRf629lZ4BZIiuP1c8ti54h5rq2hkTGbxkogoRAPx6QsXvzBPsgfQgxsRtMERW365XrvkvCg2l49uz2e9IY2jYiOvElXd5zsVr8f5cilqeyFWvU+JC4a7wlCD4v8S0wO+iG0n0y648rH33O1AfOnZQi2hGnaJmTGgYEoyHcXZdjDXxudEiFkAN65gJzXsscviafGgvNsoj2JcFMValzA/000nchJyzD+HVF9WHyZHFfaT4ZCJlFj3myt7QAgz5SuaIqHKD0UXI19ufEVgPK9v/Abkm4TYj98VxK8Y 6q4eO+l3 lI+ONQ1kZ7r9puNFacxfDbu4FShd8Ywj1JHEqPSHw3uP1wKzHJTh3UewiQjMYb9W6h0hZFrgSlUdkXl635C9bgoTecPf/cN8idsQTWp3t6cHxAFtkujvmQNmGnGu0kR6/bqYgdMhFBu8TWZQn/ylsTA1COH9Zk35ZUgqAkRUxdE1vcfmSxpVYICakouhGgVeTgi2c 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 Thu, Jan 18, 2024 at 08:59:55AM -0800, Yosry Ahmed wrote: > On Thu, Jan 18, 2024 at 5:52 AM Matthew Wilcox wrote: > > > > On Wed, Jan 17, 2024 at 10:20:29PM -0800, Yosry Ahmed wrote: > > > > /* walk the tree and free everything */ > > > > spin_lock(&tree->lock); > > > > + > > > > + xas_for_each(&xas, e, ULONG_MAX) > > > > > > Why not use xa_for_each? > > > > xas_for_each() is O(n) while xa_for_each() is O(n log n), as mentioned > > in the fine documentation. If you don't need to drop the lock while > > in the body of the loop, always prefer xas_for_each(). > > Thanks for pointing this out. Out of ignorance, I skipped reading the > doc for this one and operated under the general assumption to use xa_* > functions were possible. > > The doc also says we should hold either the RCU read lock or the > xa_lock while iterating, we are not doing either here, no? I have no idea; I haven't studied the patches in detail yet. I have debugging assertions for that, so I was assuming that Chris had been developing with debug options turned on. If not, I guess the bots will do it for him.