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 DB349ECAA24 for ; Thu, 25 Aug 2022 16:19:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D26B94000A; Thu, 25 Aug 2022 12:19:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4817C940007; Thu, 25 Aug 2022 12:19:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3224B94000A; Thu, 25 Aug 2022 12:19:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 24F3C940007 for ; Thu, 25 Aug 2022 12:19:50 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id F0E9481D13 for ; Thu, 25 Aug 2022 16:19:49 +0000 (UTC) X-FDA: 79838626098.18.9ACEB30 Received: from fish.tulip.relay.mailchannels.net (fish.tulip.relay.mailchannels.net [23.83.218.251]) by imf04.hostedemail.com (Postfix) with ESMTP id 880664000A for ; Thu, 25 Aug 2022 16:19:46 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 927E7122D4E; Thu, 25 Aug 2022 16:19:44 +0000 (UTC) Received: from pdx1-sub0-mail-a253.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id D0DFE122E16; Thu, 25 Aug 2022 16:19:43 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1661444383; a=rsa-sha256; cv=none; b=EMMHL5zLrNMeNq4rKyCbwZEIEdDuiF8CXPyDRnkFWpwEYKJ71+/dW5xZEzPHePEXlDjT5L uWWQToN+z/K8qVhPVhkjF6arKagg8ZqJcLtMhIElTnuv+14PkPiZNZHn48eJxpKonMbIBl PP7/hXFYJRYhNVpU5q95bpDBzLsyRBM+oqOZ9Qy1eyX8iKTcZPiJumVsSpvBKCsg5Y1rve ANee1SboxGkCocaQPUJ7lh3CNFb534AkJdbgwEwPLaqmczzYmLBAKyqfUxYZb2VtiEcn3t 8+5S28gclKVzI6Wx/5Nt67zXEck5OGbMBj8QIfBAX2ygCw+MCaAkya71zOnv4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1661444383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=QVBJKz2ABICt2qvSlRu5GJPjgPykUXXBeTUH0wKn+Gs=; b=5YBr43Ie5ZrHcnp+9Rwwck35+18pMKUg71yFONOl81O2FzJyiZeNGFh0225BFz0ZMJ6gw8 LPvKal93ahYmo1nMaFFsNIXAX2rOgya4HNzVZrGcZNfTzX4qfP1hB2z85oT3v5en1HY0me ZR/nDqK5jhoenJ6cDb9JrqyrZcuyWB8sAJm3Q8N2V8ERV0GhFBROcc3ZlOuaGQQRMhmDV+ MQMVY8J+lnGhSpN217auBoFz/FOoIU8oRKm9bhZO/8/xyKnrXs2WejgTtv5dYO6ws7FXy8 n3LnQKFJvu7zJu12+3kEwfTwCd5x7nKZm2RyIiEyx1oGxM7E5l63D9yp628eJQ== ARC-Authentication-Results: i=1; rspamd-64cc6f7466-rb2wq; auth=pass smtp.auth=dreamhost smtp.mailfrom=dave@stgolabs.net X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|dave@stgolabs.net X-MailChannels-Auth-Id: dreamhost X-Dime-Exultant: 0ef5925667410d74_1661444384184_544200651 X-MC-Loop-Signature: 1661444384184:576276869 X-MC-Ingress-Time: 1661444384184 Received: from pdx1-sub0-mail-a253.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.112.55.199 (trex/6.7.1); Thu, 25 Aug 2022 16:19:44 +0000 Received: from offworld (unknown [104.36.31.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dave@stgolabs.net) by pdx1-sub0-mail-a253.dreamhost.com (Postfix) with ESMTPSA id 4MD7TW0ddyz7j; Thu, 25 Aug 2022 09:19:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1661444383; bh=QVBJKz2ABICt2qvSlRu5GJPjgPykUXXBeTUH0wKn+Gs=; h=Date:From:To:Cc:Subject:Content-Type; b=mFafEIXw/ZVgaU1iTDGhCWcy02R/yIBrh7EttL0XV4y3LePAG6JRxBQE2FzNq70/T KRYc2i0ZZSCXi7AXVe0V5t6nJAcPsqEOO9uNvax4let9N9Y2a1cHVmekWW5uidoU7Y Gf6xYvwEPBUBGKAKCtMQ1LZSygXiiQGeIynEiBqIKfdNMUapRfnHHuCPM/k06HMrLr 8lAiiM+Isu3DBBR9zID5zzSmDDiQootHyJj6F6zEjc/42hpVSgxBClWZhitYvlJs/t bF2zwdhUDHHWwyMBLlRH+QBBt1i7WtA6DFiOmg9n2StnPyJ3zm0sOD5pHygfqffQny aTdNdU9pUdHVA== Date: Thu, 25 Aug 2022 09:01:32 -0700 From: Davidlohr Bueso To: Liam Howlett Cc: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: Re: [PATCH] fs/proc/base: use maple tree iterators in place of linked list Message-ID: <20220825160132.w4bphicoifyh2an5@offworld> Mail-Followup-To: Liam Howlett , "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton References: <20220824012121.aj2qkzrmdyywu45t@offworld> <20220824151129.2023451-1-Liam.Howlett@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20220824151129.2023451-1-Liam.Howlett@oracle.com> User-Agent: NeoMutt/20220429 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1661444388; a=rsa-sha256; cv=pass; b=FSWQXbyhQjeLg3OC3ATj6SeBCHz419d0oofCXGKfVQussrfM6Nai+xbV22hSEZI9WUKVeC HEEhWK3mpE8Xv7/YsD6jPZ/L/FZjBVaUyNxBPFdI9YEJNBtbUutsEMFOoU5uZrqlLoc3v3 1ZTeaofgMpHuWTFAOZ8u7ad3yMT4gf4= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=mFafEIXw; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf04.hostedemail.com: domain of dave@stgolabs.net designates 23.83.218.251 as permitted sender) smtp.mailfrom=dave@stgolabs.net; dmarc=none ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661444388; 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=QVBJKz2ABICt2qvSlRu5GJPjgPykUXXBeTUH0wKn+Gs=; b=av9+TaPZmiXROvvRIZRolz/nyLuCPPREuEBQGFV8yyiNiT6Nk36mW1qIwS8fh0aLZ+GsZ+ VtksH/LgGHSsm6H6p2ytWNIt69gk1XibjIWWk2YADnpcWmzNoEacA5c6xTrtrd8PdYpRuZ zPf+XMMUT7PZJshitP+nCpFywEQOSDo= Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=mFafEIXw; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf04.hostedemail.com: domain of dave@stgolabs.net designates 23.83.218.251 as permitted sender) smtp.mailfrom=dave@stgolabs.net; dmarc=none X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: dt3bf76ftx9fjm4urrf7xnrwu1uob6tw X-Rspamd-Queue-Id: 880664000A X-HE-Tag: 1661444386-522376 X-Bogosity: Ham, tests=bogofilter, spamicity=0.078447, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, 24 Aug 2022, Liam Howlett wrote: >From: "Liam R. Howlett" > >Use mas_for_each to iterate the list of VMAs instead of a for loop >across the linked list. Hmm so why isn't this using the standard VMA_ITERATOR? > >Signed-off-by: Liam R. Howlett >--- > fs/proc/base.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > >diff --git a/fs/proc/base.c b/fs/proc/base.c >index 93f7e3d971e4..0b72a6d8aac3 100644 >--- a/fs/proc/base.c >+++ b/fs/proc/base.c >@@ -2350,6 +2350,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) > GENRADIX(struct map_files_info) fa; > struct map_files_info *p; > int ret; >+ MA_STATE(mas, NULL, 0, 0); > > genradix_init(&fa); > >@@ -2377,6 +2378,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) > } > > nr_files = 0; >+ mas.tree = &mm->mm_mt; > > /* > * We need two passes here: >@@ -2388,7 +2390,8 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) > * routine might require mmap_lock taken in might_fault(). > */ > >- for (vma = mm->mmap, pos = 2; vma; vma = vma->vm_next) { >+ pos = 2; >+ mas_for_each(&mas, vma, ULONG_MAX) { > if (!vma->vm_file) > continue; > if (++pos <= ctx->pos) >-- >2.35.1