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 3842BD4920F for ; Mon, 18 Nov 2024 12:34:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2BB7E6B0096; Mon, 18 Nov 2024 07:34:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 26B3D6B009E; Mon, 18 Nov 2024 07:34:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10C1A6B00AB; Mon, 18 Nov 2024 07:34:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E37F16B0096 for ; Mon, 18 Nov 2024 07:34:44 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 343E0AC5E9 for ; Mon, 18 Nov 2024 12:34:44 +0000 (UTC) X-FDA: 82799156958.09.41DFF61 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf08.hostedemail.com (Postfix) with ESMTP id 9A43B160033 for ; Mon, 18 Nov 2024 12:34:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=epaRqsvg; spf=pass (imf08.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=richard.weiyang@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=1731933082; h=from:from:sender:reply-to: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=o7qIPXezxT8r34/yMgav2U3lxwCWmjJ2pjulksAZBlU=; b=SIKLObW3vtu3MLgvK6E4p9vs8HB6pTbq2VJZ03BqRbna5G6z0eHLB23NVP4lQRfyc9eDau t4cG1PU6JqCmGJZc1+KmLs+0qc1yI/FLU1AcddQ6slNYbvrwRHGT/B5WoE8rF9xSldDwmP DLQdsdN8/uVnMbsrQm/QYLRgF+R+uKQ= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=epaRqsvg; spf=pass (imf08.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731933082; a=rsa-sha256; cv=none; b=No787KkcY5PR5qvgiWIgyl8g2fhhhH9m5p/yU0dfbo9bo+QaersrFBbWrsvpAu9wtHQRzP LIk6gpTmqyVI+tnPnpnisLvYTFewgO41dknzdaclTXocPJ0K+2q08ZsLawTEMzs/ZHrpQi BWrcFOswefcxnIYoilCWS3gMwJ8zI/E= Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a9acafdb745so783060866b.0 for ; Mon, 18 Nov 2024 04:34:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731933280; x=1732538080; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=o7qIPXezxT8r34/yMgav2U3lxwCWmjJ2pjulksAZBlU=; b=epaRqsvg9z0j8WRGaXsPew2aQeIEeJnuX/WSdtYDOMe8i6jCOh4ciCvkNq5BCZ/6/A HH82DNyGC09V5Tq1vv1dEnBnBS5wBQK327TaYpZrhOWM73NsX5vz33TioEDBUmPawrtl JBvVhK/WbsyLrW5lH8YCW89FPLZNrszIY43vcYtW8HW3tWtph0iCqo/e1VnyhpoysQzt 1xqjyX6Ygn8P2WgK4oJKsAQ/AZBPhkzH9Q/b7ykWl/hH+2cQ16/8LfZb7wreMWf+OqX2 ewRWa8vdLajarFoJG58oWIKe8ClbqE+SaJgv2IkGN8GD97hDXI48oVMgUMRO3U2VXWso VtzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731933281; x=1732538081; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=o7qIPXezxT8r34/yMgav2U3lxwCWmjJ2pjulksAZBlU=; b=RnPyype3rcyFi2nSbdkM0grM17JBVi8m8nUyrCq4dxmgqNxGqy6cDFwVwMDK0RGu73 9hoOFDwDwm4i7BQ45zkwR8X0pw72X8WtY7yqBaxawunSoV/D55wK/swX+felb1D07V1s Iy8Frii7SizfjuxHJUs1O/yxvIen7OtBGSxBQYbV+o42LkxBIEZCzL3Vta9jhkaqJN/I VZWA/0Hw4Fk8fXj986nObGxNcasGwh6poMpmfK8Xwid9Dv2ncXXHbcnVlqAkYrDkHLyP NApRlkLuIFgm+2AzZZOYafizcmecx8Js7eS1ujwdNqHx0Cnd9dZx/n0F+UurCiDHQZPD kfCQ== X-Forwarded-Encrypted: i=1; AJvYcCUyB5VhId1yZhhkUME/i7bUGllTaNZcn55MjPhRW1XnAkpIDwyVvtfcBaQALQDKRUPyRgvJ657tfQ==@kvack.org X-Gm-Message-State: AOJu0Yz04f8qwwQpXqvx3eA6lUA2FLPatOiVV05+x5VeZqfLKsi1671O UCb1cQWHG/LRwZEh+3ZjyatwvkVPuuHrMUTr5gELRBP97H+i9t7n X-Google-Smtp-Source: AGHT+IEDTDPoCI0bknvxLPfAbwU/7Rv4v71OG2MZAcf6M7BHgP8KMpOuTEQTS8sdFI2Z7sNIueDBwg== X-Received: by 2002:a17:907:1c26:b0:a9e:c5a2:9cda with SMTP id a640c23a62f3a-aa2077da80dmr1367836266b.20.1731933280440; Mon, 18 Nov 2024 04:34:40 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa20dfffcf6sm541232066b.108.2024.11.18.04.34.39 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 Nov 2024 04:34:39 -0800 (PST) Date: Mon, 18 Nov 2024 12:34:39 +0000 From: Wei Yang To: Lorenzo Stoakes Cc: Wei Yang , akpm@linux-foundation.org, Liam.Howlett@oracle.com, vbabka@suse.cz, jannh@google.com, linux-mm@kvack.org Subject: Re: [PATCH] mm/vma: check retry_merge only for new vma case Message-ID: <20241118123439.4zi7ebdelwg6e6wh@master> Reply-To: Wei Yang References: <20241118021823.17386-1-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 9A43B160033 X-Stat-Signature: o8j1c49n36j19gx4b9si1z5ms4s4y8jx X-Rspam-User: X-HE-Tag: 1731933249-960846 X-HE-Meta: U2FsdGVkX1/tDGBTbW8g42VMfATIppdcGMnEeTPOlkzCJ+4CU84RM3vekSlNYFGTWPYWAJFtxHH7OufQiP0KojEcqIn85aXqZLswQ1yxrx3EA2rsSko5pZ0scb9dDyzK7Kn/lkc0qJoGmL4e4lQAKbNzUpsTc4wgofYKpDvTTlTF1g+Qh9V6fxTpK+nUy+yOnzr8V6sSui7bcJsMoWiJ1BAwYm9zqNWCBLhGkaoJUY9DQQHvwwBA0FasB9DlFWFxEGgMGOSPZfl6Kh4EC6HkPp17OGQfsWX5pEfyJwZy9BfvEUo6AIRYsI3krzI1w1hPIVisoJlDFrHgG1xPqjB+0f8RADbQc5UAQooQqQCIinjHH72IFLmKVHlo3YvKDvj8hqjB827VQwntRJrQC10KmgVonWPeOvtQp7Bf7D1MRXQaGKleJa3gGfYc+CdRQH5lbxyH93ufMR/dRlL1A4SkxpJfiTkH5Af09kUrjoZKFwNswR4+9QR+hZRUrWRNCjYS/1iDswSW2DihA7pI4BXDbhuo/YxAZABLM9UkJg2zwsks3JRU+hklnY4ggDIQzsgZkIkccD1Mv1k6QnltjA8LtPJ7JyOw6kXfKQcssMkDHAg4NZ0GxtlDKNtTkHvMx78/62HTv/H3OuFOZ1CbxaKi3kOSBXiZ9BFp6OIB7bG5CCOfhfQPOAMPQ53ko8TSee0zHRYajXwI2iz8Xvv29tgTKSyBgNaiLbk/yljtZpasC7zw1/VJZ6QowYomNSngFhQJtz3xweiYaCwvF6DleHPfihnkfob4IFgEmW+54z4DSrS44VjJUZ5tOFWeK6cGyNzyuZK1+9+RYu9aAFr3GM/5N7cez9IgNsoeaJ90ojLGBr6TqVl7dB9Sc7T9P/QsT0DTDL6EUzqFRVKB1rVyaTqIlEYe2Qa69yfCMc0TrsolT8Nn7u2CD5Y8ZlpbohRlgyfYCpr2mMXProaPA1znaSp bvgfYJfu pnYVhoeolnX0pheHDfqVQd2sI/kaVEQloFo7VX5gggMw5RYJjotwBNHsfAvU4CsmIotZI4a9KF7FztjZPIyAXUA1DOTG44ezFqGK556/N7jZKiOnVbQLRapzRUyHalhaS7P9e96Dt3iHpGa4t1Z+JFb4ZnkJ7KupZpApE6dhAEC+aZyLn439BwoW1kOxvrZ3SSwrTuqnBibW96Hy8w7cLfcgZgvnvHLw1UfyvvhYyY8XImKNtmSoaevCJ0Wnf6diJrjhNSt57raAhnty3gaje2VAAvR3ZZK1dd7ki0hTfKghPnlm9RJWeL88571i1RWrWK2c2D0ZBdiKopPm+zSAKA2XoeNB3y6mU2gnSu95f5NyxJlqUbtGEXXBXgPfZ4n+E8xWTiRthGSNmxZGhyCvjWcsUCkF5+gtyAzfJRnV6espZvwWuSoAoljSJN3FYmy5X1trh2wAMpYbvMbncFyZL48D9+mYtTF6iqQKGQIqQ+EWZZu/cWEDkDbUhyZmxVJQWMCaUBGsUn9vcwL81aPlqDrojFyf4lFfS6rnhFa4qccFPVFZjoDR6XAExzjKjuJnImS92UhPdDtIDsSUmvtBdywyFRvBT5pp7x0tbeV53M4cejL8xZHIZbqhB5okTNKFeZ3eQrrG+C4MTTHy8ZhCjbebGuReh7H7RCQCAFZvgVe4v38jdrnsiAL2NbCXcy7RdoM1V X-Bogosity: Ham, tests=bogofilter, spamicity=0.011575, 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 Mon, Nov 18, 2024 at 10:04:44AM +0000, Lorenzo Stoakes wrote: >On Mon, Nov 18, 2024 at 02:18:23AM +0000, Wei Yang wrote: >> Current code logic looks like this: >> >> __mmap_region() >> vma = vma_merge_new_range(&vmg) >> if (!vma) >> __mmap_new_vma(&map, &vma) >> __mmap_new_file_vma(map, vma) >> map->retry_merge = xxx --- (1) >> if (map.retry_merge) >> vma_merge_existing_range(vmg, &map, vma) >> >> Location (1) is the only place where map.retry_merge is set, this means >> it is not necessary to check it if already merged with adjacent vma. >> >> Let's move the check and following operation into new vma case. >> >> Signed-off-by: Wei Yang > >Nack. > >As I said to you in another patch, the aim isn't to find the mathematically >smallest size of patch. The aim is to keep things readable and nesting >things like this works against that aim. > IMHO, by nesting it, readers will notice this case only happens for new vma case. So we don't need to retry if vma_merge_new_range() succeed. It seems to be more readable, but maybe you have other thoughts I missed. If you would like to share some thoughts, I'd appreciate. >Unless you can demonstrate a _significant_ perf improvement for not >checking a boolean here, then you're making the code more complicated than >it needs to be for no gain. > >Right now it's (intentionally!) simple - try to merge, ok we can't, try to >map a new VMA. Finally, if the state says retry a merge, do it. > So you want to make retry_merge a universal check state? >It's easy to read and easy to understand. > >Nesting as you say takes away from that. > >I also could have gone through this mmap() code and tried to reach some >mathematically perfect level of avoiding unnecessary things, but as this >wasn't the aim, I didn't. > >Please try to focus on finding bugs, or _demonstrable_ perf issues rather >than stuff like this. > >Thanks! > -- Wei Yang Help you, Help me