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 412D6C61DA4 for ; Wed, 15 Mar 2023 19:43:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 591B26B0071; Wed, 15 Mar 2023 15:43:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 542156B0072; Wed, 15 Mar 2023 15:43:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 409D56B0075; Wed, 15 Mar 2023 15:43:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 306086B0071 for ; Wed, 15 Mar 2023 15:43:23 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CBF48A030B for ; Wed, 15 Mar 2023 19:43:22 +0000 (UTC) X-FDA: 80572156644.29.B367180 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf16.hostedemail.com (Postfix) with ESMTP id E4A2018001E for ; Wed, 15 Mar 2023 19:43:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=CqKWAXw5; spf=pass (imf16.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.52 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=1678909400; 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=faGj14zwqsds1k0brXyrvNbil7oPyorU3jtCVxRIE+E=; b=E11U9rCE69hUcwG7czjq4e4q3jZjRgfL9CHnxgGxY3s5tGnLmcrZXON8cB0Rcb5OzNr3yj jxL6qZJV3vlNIy+BqueoKBY+K9irHB1930otH8Rh+NsxldGFIYVTNAp4/sx/ogtdP9WkaV i6UUQpdlqop6IyspvO8HfJWy0TkCS7w= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=CqKWAXw5; spf=pass (imf16.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.52 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=1678909400; a=rsa-sha256; cv=none; b=2rrY6nHBwcDn7XMtoLSyqHdjnO/kjm8vDCK16osQuOI7vZ0ZyCCtWlET3L+H0f1ofmrE/u nlS5G4y2Zx4uh7Dxi3OdpExhOXTr9tI7EiiuDcFdy43UiMdTEkD39I3Iea6t0AJm2ZI9vA SHIPRPn9KnGJB4poxwhxnCPRmT1pHEY= Received: by mail-wm1-f52.google.com with SMTP id m18-20020a05600c3b1200b003ed2a3d635eso2028028wms.4 for ; Wed, 15 Mar 2023 12:43:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678909398; 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=faGj14zwqsds1k0brXyrvNbil7oPyorU3jtCVxRIE+E=; b=CqKWAXw5aP4qj4PRd2coPP/BKlwUpxk8Qq8oCoGvAX2bOsnMKQpfV87WspTRgF7r8I o6BbCB8E4aP/X9b/47q3BACYewFF8G/kgut23QasJmxhZPF1thAuWfkE7oERVgEJ4t5M GTt1ZooPo5EYuqSZ93/EqfjIyFhFifMhKUgQ55PRE7JBVuH7TqUM3AIMpeyo3IzP8WiD dNJt0qcs5Q+zLa0Gxi74Caodf4+9/WgmQY4ChQEaLhdDK1Kf3bA9fiqyqh5111faKy7s FUbFDVDVmstkMsPhEOdE0BuYUvTfTP42BJIDH712VIy1ocQGdgeEw1FFSTBJTxooLtND b3uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678909398; 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=faGj14zwqsds1k0brXyrvNbil7oPyorU3jtCVxRIE+E=; b=aZISoy0W3VVj2wrskE4EtmrieQAitZn7EFc1CFoubXwxttM+3AMFMRDrDAvn0iSWUI CNwb9hEN9COKxCLvsvpYjFGEkzob44mVNW7JLe8aKuvkUafX/MeeOlEWeVJRzd29QK5t 8MUmGTcOvjROWr2LcbyWXOuZ8boXhsNbFdrI7FGJZlF/OBuT4KM7DAtQFjanaONmQxCz 0UNzpaDCTD6tkcNpH+hY0jcXlXQ53LAkCxwwUUYuliV3ZefrHzsdlQkERxuHyd7pbzux vwMMU/1KoJDTWFy0UfbSHxEu4NVBwMAdo3b9fAiigCW6AVHth7LKIrfWdOMKCsvybrh7 GJlg== X-Gm-Message-State: AO0yUKXbNBLaBWgOO2QCARP26goYTAvrp7afCdnJkCDG3EQ+zZ3RSLbq +4lUxivBV9P851o1INtINCM= X-Google-Smtp-Source: AK7set8zVKajDUElQgs1Ba36/Q7Q1gh8V4Hs0L9VhxlX/f8mCLCNZZw2Y7DKczu3jZudG12O07o1hg== X-Received: by 2002:a05:600c:1f11:b0:3df:ee64:4814 with SMTP id bd17-20020a05600c1f1100b003dfee644814mr18026500wmb.20.1678909398252; Wed, 15 Mar 2023 12:43:18 -0700 (PDT) Received: from localhost (host86-146-209-214.range86-146.btcentralplus.com. [86.146.209.214]) by smtp.gmail.com with ESMTPSA id q20-20020a1ce914000000b003dfe549da4fsm2722922wmc.18.2023.03.15.12.43.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 12:43:17 -0700 (PDT) Date: Wed, 15 Mar 2023 19:43:16 +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 03/10] mm/mmap/vma_merge: use the proper vma pointers in cases 1 and 6 Message-ID: <14e3bc0b-3deb-4bc1-a400-5dfc44b46f4e@lucifer.local> References: <20230309111258.24079-1-vbabka@suse.cz> <20230309111258.24079-4-vbabka@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230309111258.24079-4-vbabka@suse.cz> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: m6myg4qznkzy65n9pnf493w6syx5sjjz X-Rspamd-Queue-Id: E4A2018001E X-HE-Tag: 1678909399-379348 X-HE-Meta: U2FsdGVkX187QJZTgZUczFiC9d7Z9RnlhLYb9LIe3Lek0hjZr2zltMKcbEXWjcaAEyGtlJvNM5CEKwgMC2CBFBEtiOojutQ1ujF+XEsd42uXLVTCQT2Qewo0gAerF69/PvW8B/XXPYdfzVEWLa29bDp1M+4EFKMt/qmzEI/KoVQxxyPE89DVvXGt/9gNUTTU41A6wk88t3a2r2OcDL3uAnwHZDhnsU04k9ZfUwRlPsLBuQ+J9p7mr8WLnt75bCPQghbyDJ+IgruH4oh05HP8SxGJIjfiiV2siyS48bPpgVdd59A0ccKOyTuBF3Xo85eQjimbp5q5QndEaqrPVzmKaPrHDh1yeiJfD1CyEqGVHb9vofSnTo+vW1k/Past4h2/JaaRRi6JS6nrBSFOnLClQ94eQszEFCbrI4cMADqfl8keyFpWnU6m541vbcK6lgH8HK7W0sVg1KjZzcGk+RD5dItZdrwEuaqIqeQqHC8VER+djQil7B4JXqG6Af7x3OnX9ijP3oM2imeJVMMOzyFZYEm01/XwKFSm6nzJG92oR6cl14jSm54gfnmpoHGIApbJodHTTEymavFkH2Bb0xowoWo65bGLt7qvUXapHUjS4qr/iPJ7SAKxYmM1uFwsHVHsQMBcenlj5aRMuJ0k8NB2xoUwEW4Jam4oazcNf25MLkQyXl46xjuvlWUbEXN1ZamZDRqK8ttDPXcsnXR6GF35Md0edXFPHKruZAgwSzzKLyEo0APq4UVJXrP6lyxUg5+iGkCiShUiOPQzGCaa398rAlaNKW4qXj9S7OrAC/zAY8mq8Bmehn7AcWT3qdY9tUCSO4mdwyEiacCIo/P36hnYF+OX9Seczg/gIKhZRnNGJ3aXI9ugpvi9j2pviIesLpVmSqUYKR6NG2QkoVdd9EkMekYPMU4OjwVxQIidN2u75BhFwORo+suz0l5JdmBhmRdJFjX3Wm/2LOwHS23Zdfq MFJmAw5y suV0gEBSZBXpaCSfTnrrqWLg16fv8LrWD0Cz7O0jZBgMP9xCQBUxxuNCo3/nETi4jhBjfBWJ3MOOvgglqSBTQc4RZDB9oSxhwYtGrlzTE2xEtx7a206E8uc4mcO16sYtaEpzS54f/Tu67A5+isyaZhTg+E27EgeXcFFye1lXw5s+CnA6DbkalIMWhtO4z+hbAoyujc0NLkZACwba5rQcjXE+wLjFKlVFAVn++iOqPBwHPS9ivfYFV2K3mmZrA0gq3KhkYsGlgEAi0diTAFQlsfW7HSZ9BzH32AcvE8w5/vo5GwYpZvGRtZVpqH7bWZYCYxS+2MOJ/WKB4W1deyPvYhIC3s2UudYuZYFZAdoGcniT5cf3Pf7oHu0Y0BFQrd6wccKsu+PrM7gHcnG0ueN7u+6ggyqPCFjSHtZ+j34aWoRbdXjAOub21hnP1yrNoQ+US+M4xKfBOOshj2ZsXzibGhdAJiV6Wb33DczkD 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:51PM +0100, Vlastimil Babka wrote: > Case 1 is now shown in the comment as next vma being merged with prev, > so use 'next' instead of 'mid'. In case 1 they both point to the same > vma. > > As a consequence, in case 6, the dup_anon_vma() is now tried first on > 'next' and then on 'mid', before it was the opposite order. This is not > a functional change, as those two vma's cannnot have a different > anon_vma, as that would have prevented the merging in the first place. > This makes me wonder whether there might be further simplifications based upon known conditions of mergeability to be had (as e.g. is_mergeable_anon_vma() would have prevented otherwise). But perhaps I will discover these later in the series :) > Signed-off-by: Vlastimil Babka > --- > mm/mmap.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index 1af4c9bc2c87..c33237b283c9 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -605,7 +605,7 @@ static inline void vma_complete(struct vma_prepare *vp, > > /* > * In mprotect's case 6 (see comments on vma_merge), > - * we must remove the one after next as well. > + * we are removing both mid and next vmas > */ > if (vp->remove2) { > vp->remove = vp->remove2; > @@ -948,13 +948,14 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > /* Can we merge both the predecessor and the successor? */ > if (merge_prev && merge_next && > is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { > - remove = mid; /* case 1 */ > + remove = next; /* case 1 */ > vma_end = next->vm_end; > - err = dup_anon_vma(prev, mid); > + err = dup_anon_vma(prev, next); > if (mid != next) { /* case 6 */ > + remove = mid; > remove2 = next; > - if (!mid->anon_vma) > - err = dup_anon_vma(prev, next); > + if (!next->anon_vma) > + err = dup_anon_vma(prev, mid); > } > } else if (merge_prev) { > err = 0; /* case 2 */ > -- > 2.39.2 > Reviewed-by: Lorenzo Stoakes