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 A32AEC6FD1F for ; Tue, 14 Mar 2023 22:52:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22A996B0071; Tue, 14 Mar 2023 18:52:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1DA8E6B0072; Tue, 14 Mar 2023 18:52:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A24C8E0001; Tue, 14 Mar 2023 18:52:23 -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 EB1076B0071 for ; Tue, 14 Mar 2023 18:52:22 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9B942140BF9 for ; Tue, 14 Mar 2023 22:52:22 +0000 (UTC) X-FDA: 80569004124.09.19DF200 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by imf16.hostedemail.com (Postfix) with ESMTP id B6623180005 for ; Tue, 14 Mar 2023 22:52:20 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gMnv7YC6; spf=pass (imf16.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=lstoakes@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=1678834340; 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=aRo6A8udz7vMTU2bOR1zXhbLdqVTQmZ/8R5vMq7kqsA=; b=saxFkIuD78/+ioHSSfxQlhcoYtZ0ZbvxeUeuAbd3fjiM7vQikmt/wNsW8ofZTIpE8iv7Q2 +8hTKIHPJIhTukYLyArMhA7GlB5OWaW1TvrCk2ag9v8zFKAylNhHbV1eqwDMf488eGIdB9 w8EArVH8jLGSF9RNPabT0oi4FAv1XwY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gMnv7YC6; spf=pass (imf16.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678834340; a=rsa-sha256; cv=none; b=jMctis3S90/GOJXhW/vNrDesM5kh2zrBXMttHZB4zfD5LZ6XBSrdqQ9/drvywwWR1S3wLQ S2SYh2bQj86FRZm0uArEocq2XQ1ILa4gUzNPnzsjFPYSkGITVl4C4ZMSjh/l9/u1D4x3Y6 W8l9ZkJXGAoD8FAbAtalRrHKyryw9LA= Received: by mail-wr1-f53.google.com with SMTP id r18so15776200wrx.1 for ; Tue, 14 Mar 2023 15:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678834339; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=aRo6A8udz7vMTU2bOR1zXhbLdqVTQmZ/8R5vMq7kqsA=; b=gMnv7YC62gXcz6glohYqgwR5fcc0cr0oK67SD7UYTJ4OcShFey80KOTfIRE7VgWIDt JFrTuHV7521bLX8F5WsWT7gdoBNL1XIPL6IYJlq62OnCIU7Xe4Ej89rnyBxIcModa/I0 RSeqMvImGYbdL7El9dXjzMSR8Ydr53FJ9hZuOWBcrk3DThT7rrV+WIoHF8h6M2E+KI7W e6b/xxCJ2u/W3gOutWRSC5kORfU+pJWfNES4N7UZgCsF6/7cF0SDzJ50km0Q0DiIfcHa hvGPjxoXBek5R4S6lMtF6NW2DglWdYYA9aWX2z02habT7pauMZ0XgnuniReKcT3nayJ5 Kpug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678834339; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aRo6A8udz7vMTU2bOR1zXhbLdqVTQmZ/8R5vMq7kqsA=; b=kXuKiLRUuApv6lgLaNgRLwaCJmbDr5wdlxqmv03XuR8ccb8v4u0pKhA/h/TD6JMhwK 6Qv9+/crazhw3OKYxnmWRirjhmQmlgOz1o+Oha4KkYuyYSYkeRhAHEmzJNjon1hgZHPR gCVG65arpFUS4GzwmFlgPQdYa07KwILD202SXcRSaAgO4F6Z5sVcMGk0AL3amNoVkCl2 umlH8jbHH8GUpIgrCMP5y8LbJD32mREKKZ4bylSrgtggMq1QiT0Nh6NISNhM/QxPc7JJ 4cpwprXL8USZ0jDfD+gusSw2RSmSB/W8R1eWPTU+dWhzD2yL3hd05JHZdpW6psLQxjGP m73Q== X-Gm-Message-State: AO0yUKU0vtPscXusbwyUkTmhh/lsNMA0psycgVF1fjxtnLtmFuV1mzxW TFKojxgRfEQo3m0k1LONvNI= X-Google-Smtp-Source: AK7set/cYhxGfJWpjfFLyQky/1yUlsdvhgUbYSCD6TKzoUKEbeib3e22z9mD5ZXIJp8m8WUSJxjGQg== X-Received: by 2002:adf:fa09:0:b0:2cf:e58e:2dca with SMTP id m9-20020adffa09000000b002cfe58e2dcamr467660wrr.36.1678834339057; Tue, 14 Mar 2023 15:52:19 -0700 (PDT) Received: from localhost (host86-146-209-214.range86-146.btcentralplus.com. [86.146.209.214]) by smtp.gmail.com with ESMTPSA id v8-20020a5d6108000000b002be0b1e556esm3046633wrt.59.2023.03.14.15.52.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Mar 2023 15:52:18 -0700 (PDT) Date: Tue, 14 Mar 2023 22:52:17 +0000 From: Lorenzo Stoakes To: Vlastimil Babka Cc: Andrew Morton , "Liam R. Howlett" , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, patches@lists.linux.dev, maple-tree@lists.infradead.org Subject: Re: [PATCH 01/10] mm/mmap/vma_merge: use only primary pointers for preparing merge Message-ID: <4385c202-2281-403e-8d9b-9587e88f9009@lucifer.local> References: <20230309111258.24079-1-vbabka@suse.cz> <20230309111258.24079-2-vbabka@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230309111258.24079-2-vbabka@suse.cz> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 7f1tnffnqjqobuocyhany8b4djsriohx X-Rspamd-Queue-Id: B6623180005 X-HE-Tag: 1678834340-319271 X-HE-Meta: U2FsdGVkX1+37V+5WH4RPlWD2nhmckxsLG0W6rVz+MfYqcla5vAbd4MEwmCgJpfIJA7ChsrLePQAVv/bKFI6g1fTr6xQeFSDaf+7Hv8BrZfjpI5bA5ZX+b5Fwf2H3PSpxDxbpXD01rij7OQy8NYeI5tDxEX6fFJ/k/Jd2c5CWhWo912mM5as5M9Jw2VS6z2VwLj1gpIbKvQBEG0OVgbcrJ9yslsIosofZfWgoA9IYDFxzEIG0I4whAO/azOgyDqvxR6mNlMDA7v6IfmqSAPq3RjxkC1f8h75s024A95V02/xFMyS6WJycjhHXQJW4s9CpDtilzpmJh1ezyabQvn3JOa8SdnJA5Qy4meR3tIG/uJhYbiKLiNNkd0X3kesMPUM/nnuxBmhF/AAej7cdSynjk9XrqHN7uojjvCaa5CGoqbvCeB2cmuOOyAUnsyBjuAJ+7Aa21qI2nHHLI748HSHFm4b3AeaYCJP40YorK/8Ca7D+GY2H3E6xBThetkkgT98Jun96gp4VvCyA4tTyp/sNMmkqXrzm8nPpq3cYTajYV4n8/P1eZL5J3QQHm3bmfYhJ6l8MpqGymy412KrOKwHVYrx9/Il7Cvbq3lU3ZiHfFlh+Q22UEWWL9tw2qX9UZdQ3SAPFbueY9On7S0QqIEQvSFvdylxWJi4hmJk3WjLl7JtGcMnxfYgr7IOB7JmmpbMuuy59PmT5M2guAZe5+DceLUbsGTzYAcK2PcvWTMwTri/GihE2PM+ktylG+s8Hs5wc9dpxq75//JoR6h/E6upTgivfJcxauZz3vm1QEaCp8JJ+NEcAiYpMBut31Pdk3zoIm6PQ4dFw3JDb5/GRxRqS5BlBbnw9YreYjXhanu8CiEzFNAkXO3Ln5ChNqofB6U7rm0PlU0HoO8DQiXuChFqC8+ZunHOXax/vh8HCWJXsk0q4idcd3ie5KjTMXZejpfYMfIXUiKsN8pR5AEsx6d SWd4ir/s XXw76kZh+N4E55wAddYTcOZx2/t4PcpcSdjHrVq7/kOIrfYqc7tpuc1yn1GdhX1YHO5YUPfgQk/UiETedbOCSyyn+ufQP4xFTB4x1ag4ZNJslklySS5V3fBlurqw55NjVkHUf8hiFt+2ZuwZR7uIxlDiXBQbGsJfgrBT2Xn0XQS2QTDeRg6H1BfBOMxpEJPgqds4wfZzzncPGsd4He4+U3HfeZmq0hAomCM5YGx/4V1S+cmqyFDxNuPg4jcPvsIgooWIRdiUqA2r21XM0FiVbAeXVObYEbS2s8fUsnp/4xR7D/WCoK04GAunZrDvclJDKtSDh9Wa5q8Y8QtUNo17N9TnhoZ5qQV3EHLEOd6boLp4kt3eUpOl5Ct7oLMgfVusemN/g0h0ciLFOLSz5V51dBqIBb28BbuV5ea65LjoK0qgqneFpAUoN7JsVTIOecYG4ZE5wEMXeWFBjzX/RSSREedz2Gs7PSr/yQJ3n 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: On Thu, Mar 09, 2023 at 12:12:49PM +0100, Vlastimil Babka wrote: > In the merging preparation part of vma_merge(), some vma pointer > variables are assigned for later execution of the merge, but also read > from in the block itself. The code is easier follow and check against > the cases diagram in the comment if the code reads only from the > "primary" vma variables prev, mid, next instead. No functional change. > > Signed-off-by: Vlastimil Babka > --- > mm/mmap.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index 740b54be3ed4..0a8b052e3022 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -950,16 +950,16 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { > remove = mid; /* case 1 */ > vma_end = next->vm_end; > - err = dup_anon_vma(res, remove); > + err = dup_anon_vma(prev, mid); > if (mid != next) { /* case 6 */ > remove2 = next; > - if (!remove->anon_vma) > - err = dup_anon_vma(res, remove2); > + if (!mid->anon_vma) > + err = dup_anon_vma(prev, next); > } > } else if (merge_prev) { > err = 0; /* case 2 */ > if (mid && end > mid->vm_start) { > - err = dup_anon_vma(res, mid); > + err = dup_anon_vma(prev, mid); > if (end == mid->vm_end) { /* case 7 */ > remove = mid; > } else { /* case 5 */ > @@ -972,8 +972,8 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > if (prev && addr < prev->vm_end) { /* case 4 */ > vma_end = addr; > adjust = mid; > - adj_next = -(vma->vm_end - addr); > - err = dup_anon_vma(adjust, prev); > + adj_next = -(prev->vm_end - addr); > + err = dup_anon_vma(mid, prev); > } else { > vma = next; /* case 3 */ > vma_start = addr; > @@ -982,7 +982,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > err = 0; > if (mid != next) { /* case 8 */ > remove = mid; > - err = dup_anon_vma(res, remove); > + err = dup_anon_vma(next, mid); > } > } > } > -- > 2.39.2 > Big improvement in readability already here. Reviewed-by: Lorenzo Stoakes