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 164C0C3DA64 for ; Tue, 6 Aug 2024 14:32:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A31566B0098; Tue, 6 Aug 2024 10:32:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E0E56B0099; Tue, 6 Aug 2024 10:32:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CFC06B009A; Tue, 6 Aug 2024 10:32:44 -0400 (EDT) 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 70E3D6B0098 for ; Tue, 6 Aug 2024 10:32:44 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 200B1A5C35 for ; Tue, 6 Aug 2024 14:32:44 +0000 (UTC) X-FDA: 82422061848.14.5735FE0 Received: from bee.tesarici.cz (bee.tesarici.cz [37.205.15.56]) by imf17.hostedemail.com (Postfix) with ESMTP id 4EB2A4002F for ; Tue, 6 Aug 2024 14:32:41 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=tesarici.cz header.s=mail header.b=hJIWvF5V; spf=pass (imf17.hostedemail.com: domain of petr@tesarici.cz designates 37.205.15.56 as permitted sender) smtp.mailfrom=petr@tesarici.cz; dmarc=pass (policy=quarantine) header.from=tesarici.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722954753; 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=g4APhhwhO/eLGnY2rQDpJ8JqIDQ+BR/sG7w6iumGct0=; b=xVUj+ztfYXP9e0xu/Mjz5xV6TN4Mf7r/LjEA/PE15r+0OkqcncA8jtrRo/UD1xITbKlyQM Z3mMZ/cXHntn40Hg/QySE7HfqTpaVVgj+J7eGbBNE6b8urwF5VzPH6z/FpTyleTJ6+FL4h xEXRZDGXKJcTo6yyAPJjHWjDQsDk6Cs= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=tesarici.cz header.s=mail header.b=hJIWvF5V; spf=pass (imf17.hostedemail.com: domain of petr@tesarici.cz designates 37.205.15.56 as permitted sender) smtp.mailfrom=petr@tesarici.cz; dmarc=pass (policy=quarantine) header.from=tesarici.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722954753; a=rsa-sha256; cv=none; b=ZtlnP4MZPtoOVJHrj98/kSog9ij5waGcDp99xP01goLzEa8t/WzFkMu40bAimCYxuZddZH AEyhTVwOCwQ1rII6Zd0ATCROpjVBnibtzuNhxXQ5zOVHESd33Kjf2KUWVqJluRpcygmjRe LUsFkplaXgbNLw53vFb+VSC2/hN9UuA= Received: from mordecai.tesarici.cz (unknown [193.86.92.181]) (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) by bee.tesarici.cz (Postfix) with ESMTPSA id 4DBF71D39A8; Tue, 6 Aug 2024 16:32:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tesarici.cz; s=mail; t=1722954759; bh=g4APhhwhO/eLGnY2rQDpJ8JqIDQ+BR/sG7w6iumGct0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=hJIWvF5VxVnXCVSszKyATmb5VsflfmiCBVlHkvL2ZJnogohaJ2O6UJv/cC50pFbFW 9S5KRqX6dLiLlLTPi4qvXqsSx8l2R+FqzvGt2zqeXDlUqCRyGNJd3xZLOH9zrodcjx OUjeIiNi6XikKSY1oIfvQVZoi8ciHjYT/+9MmK/iWELoMWG3h0Mu73sC5WQDXdpRjd O/HC/I85BBUNqjW3Hj+v5GnclqRNlKb1WEOxDumT0m1Z0AGnH9S5+GATAv775xx4bF NQWstA9LK/6ZIR+TYIezjR5QMA+bIc81Du/p1/hFbXJN1/uLEhKwF7whIx1TjprNnz dxbrizj6IFQEw== Date: Tue, 6 Aug 2024 16:32:34 +0200 From: Petr =?UTF-8?B?VGVzYcWZw61r?= To: Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , "Liam R . Howlett" , Vlastimil Babka Subject: Re: [PATCH 02/10] mm: introduce vma_merge_struct and abstract merge parameters Message-ID: <20240806163234.78debfc0@mordecai.tesarici.cz> In-Reply-To: <654dd596-3875-4ab4-acdf-9e5f547b5551@lucifer.local> References: <20240806144754.447001bc@mordecai.tesarici.cz> <20240806160650.16af656e@mordecai.tesarici.cz> <654dd596-3875-4ab4-acdf-9e5f547b5551@lucifer.local> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 5ed4jmmww1uzy5osjgu497aee86momhg X-Rspamd-Queue-Id: 4EB2A4002F X-Rspamd-Server: rspam11 X-HE-Tag: 1722954761-160667 X-HE-Meta: U2FsdGVkX1+EsnoBgiMRuyj7ztkfE5w5qGxxYg+i5fM4Yq0c+CXtVJNjZlc2aRAGegsJUXM4/3OsL3XTV7m7jpV8cpnYNah7O6IbErPBf9nNQdw/iWV3Tp9E06Yzk761VMJ664aD266nsyGkbB+45vrrTWJzG7iR1iGCB/Jsh0xSyPkvKX7gSKQEk1ar6r1Crmj6seIq4TDPAHf05owoBmL+WzlmGHUy8LcMGHDn0BD9I8INa9nkOm8npeJqq5Kg4bMwLjI+6RYLmfsSb9XeCr5jdl8CX5oXIUynce3Erfo4Y8scTvld2pJn6T0REu2UClChpdIGMHpdbnvmqbh+DwhwKHbDtX7rnDjBmVeXlUsw9XCLj47WDXKWM6wg9tud914RZR3Xu4v54eJ0ZpNWv0FHGK0Ff14EPWyLKTpFHNHg6lMHFNGj+2MXgexYi9TULbb5Z2P+0ndfyvf6Fn2HQFsvf3/IABAUvqTrmp4Q4z7AAe24byPafdspMVFgrf5S1oN4xm0XH+qilIZ4XU468J5OkMi1via7PqOjABurfb/ZnQVrtMa+g9bRnUpbxj17LCk1XW8P1+WBG26BFvlyG8mjkU8LM04PB1r6zoE8AcUS1wodZRFoxBVsrDEtYrx07fT9+YG4Y6CF3eauDo8ATqaPS2KQU0rx0i5fxTXpsg4scUSXWI47qGrqdjxbjTlD32f/jvRkRIyl1bPGpGJxbvlvxkMxFnCQgr3hF/+NCN1YH1d88gxnm+7tOdictIC3cxsjfUYziT+5A7ydkDb7aHA51JFoAG08XIrkS321soj+Cmat1Y8XU5xY+9FzyCYW+f0yLlmEwaUT1THfTwpF/2sNLuisCtE5duwxD21cOxQZH9SSf/10Mz7YooO9bIGmIIptgrV9zZviXfQU7cWzv6ZITIjVxLqBvWyQID7vsJtpCd2MlqUsaBR4oJhxC2GR1po43RmEO2e9vRy5QQP tuvP1imN DRTW4+ywHxGXd/frNcddEq7a89e8YFNyx87YBXdomYbqX+B++tTAIQumqnbQIWHIf/UHyzH1Wjzm7Tq9dAUcvs2JltQzRIZYLR865UW0OSmKvUVGKx8KHjNKFqEqcD3odUqavl5Aer9LwtRjNV/g8ZuBoiyVNVKcgwC/kM/UcSmNJ0Om/1a5u9tSZrKag5a0qJNP5IMFIUBawbbwy8SPgXzIjhGVNKSXDIgMCSPPefI3ZFCFHKLR0BtciDdeqnQ/eOZ2QeF/vzD3IEhwdz54q+eFUJyYAqsmUq7wgs/GDJDWo33SFOxwYsoVMRrgJky3/5EED6zYR27WbKNhZA0tZZrhsVsqSMC+d2dYdz3fu7XIdAAOOnB8wgJpnLOuNhV1AbA7R 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: V Tue, 6 Aug 2024 15:20:49 +0100 Lorenzo Stoakes naps=C3=A1no: > On Tue, Aug 06, 2024 at 04:06:50PM GMT, Petr Tesa=C5=99=C3=ADk wrote: > > On Tue, 6 Aug 2024 14:43:48 +0100 > > Lorenzo Stoakes wrote: > > =20 > > > On Tue, Aug 06, 2024 at 02:47:54PM GMT, Petr Tesa=C5=99=C3=ADk wrote:= =20 > > > > Hi Lorenzo! > > > > > > > > On Mon, 5 Aug 2024 13:13:49 +0100 > > > > Lorenzo Stoakes wrote: > > > > =20 > > > > > Rather than passing around huge numbers of parameters to numerous= helper > > > > > functions, abstract them into a single struct that we thread thro= ugh the > > > > > operation. > > > > > > > > > > Signed-off-by: Lorenzo Stoakes > > > > > --- > > > > > mm/mmap.c | 76 ++++++++------ > > > > > mm/vma.c | 297 ++++++++++++++++++++++++++++++++++++++----------= ------ > > > > > mm/vma.h | 92 ++++++++--------- > > > > > 3 files changed, 294 insertions(+), 171 deletions(-) > > > > > > > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > > > > index 4a9c2329b09a..f931000c561f 100644 > > > > > --- a/mm/mmap.c > > > > > +++ b/mm/mmap.c > > > > > @@ -1369,9 +1369,16 @@ unsigned long mmap_region(struct file *fil= e, unsigned long addr, > > > > > unsigned long end =3D addr + len; > > > > > unsigned long merge_start =3D addr, merge_end =3D end; > > > > > bool writable_file_mapping =3D false; > > > > > - pgoff_t vm_pgoff; > > > > > int error; > > > > > VMA_ITERATOR(vmi, mm, addr); > > > > > + struct vma_merge_struct vmg =3D { > > > > > + .vmi =3D &vmi, > > > > > + .start =3D addr, > > > > > + .end =3D end, > > > > > + .flags =3D vm_flags, > > > > > + .pgoff =3D pgoff, > > > > > + .file =3D file, > > > > > + }; > > > > > > > > > > /* Check against address space limit. */ > > > > > if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) { > > > > > @@ -1405,8 +1412,8 @@ unsigned long mmap_region(struct file *file= , unsigned long addr, > > > > > vm_flags |=3D VM_ACCOUNT; > > > > > } > > > > > > > > > > - next =3D vma_next(&vmi); > > > > > - prev =3D vma_prev(&vmi); > > > > > + next =3D vmg.next =3D vma_next(&vmi); > > > > > + prev =3D vmg.prev =3D vma_prev(&vmi); =20 > > > > > > > > So, next is now a shortcut for vmg.next, and prev is a shortcut for > > > > vmg.prev. ATM there is only one assignment, so no big deal, but I > > > > wonder if next and prev could be removed instead, same as you repla= ced > > > > vm_pgoff with vmg.pgoff. =20 > > > > > > It's simply to avoid repeatedly referencing vmg.xxx / at least reduce > > > _some_ churn. Also this will get moved shortly, so it's worth looking= at in > > > final form. =20 > > > > I'm not a MM maintainer, so my comments may not be relevant, but my > > experience shows that pointer aliases have a potential to introduce all > > kinds of subtle bugs. That's the reason I generally try to avoid them. = =20 >=20 > Right, I understand, I don't want to get too deep into a distracting bike > shed when this series is doing something quite major. >=20 > If you feel this is absolutely critical, I can adjust this code that I > later delete, if not I suggest leaving it as it is. Fair enough. I missed that _both_ occurences of the pointer aliases are deleted later. Then you're right, it's fine as is. No more bike shedding. Petr T