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 EE813D6D250 for ; Thu, 28 Nov 2024 01:11:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70F556B0083; Wed, 27 Nov 2024 20:11:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6BF8C6B0085; Wed, 27 Nov 2024 20:11:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 586476B0088; Wed, 27 Nov 2024 20:11:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 39B066B0083 for ; Wed, 27 Nov 2024 20:11:07 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id DBF161A05CA for ; Thu, 28 Nov 2024 01:11:06 +0000 (UTC) X-FDA: 82833724722.21.F0450AF Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by imf15.hostedemail.com (Postfix) with ESMTP id 574D6A0013 for ; Thu, 28 Nov 2024 01:10:58 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="N7KK/8fg"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732756262; a=rsa-sha256; cv=none; b=1/5Y5K6UwkFd3B7KRHFblZO/YJwpVISOiAczEg8ci6zbDAbcFaXZZ+qbIKhSCrNuYws9bH hAp+WMwgrHLc18mlt4tIFuffROpF2ijNdumkxjPXdeHPP0yBOTfJpJvL51FbNeLnJuSKuw o5N+HB1JiQ3k8IJ3EC0pswN7jNKQNjg= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="N7KK/8fg"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732756262; 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=lRxB37jDMFrk1FFCLgk5JkocU80CqIXYeyogvEw2G0E=; b=GNmiHEZoXJaE4uuAv+Xo7FXovn0tcmzboJ/9QAgK50MAIJKFR08jQ0sNA66PrGazSEMRmb nA3HVnqjTTHN1igFeim5rAZBLGQF7xaIAIseVM+tvIzhv8mHMFKjgx0kdbea6H9knsL0bT b75LPktfch0mG+RSTClu0ItT+UGT8NE= Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-53df67d6659so85001e87.3 for ; Wed, 27 Nov 2024 17:11:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732756263; x=1733361063; 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=lRxB37jDMFrk1FFCLgk5JkocU80CqIXYeyogvEw2G0E=; b=N7KK/8fgL5GVPk+valqDgHBbecrNKzz4idjkfKSEcHXNyO8UUrFNTS72BN6adGBIdV bkHC9fYkv3VXFugw2+isbN15/0QNlEMBxhQ4BshTl/advTln/Vd/WJCZU5Q26etlLvbq MuwMqf13AAReYSjBSukNxlHosWLmOoG50FGjQdEox1tocxNMz7NSkYl/PxsgZb5GIiY4 8JJxli4aagBaMXDnULvsahE+1NY8cpWTRQlW87OiTrJEV7QKIC2aETQDM3puUP8fxlr8 4MdNKXK/PLaz0WVhBx1uNaPZZzuJe7MqY5XcU3Mc1yIAQP68YaWDZ4Hj1nwESrKQUOzC Gseg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732756263; x=1733361063; 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=lRxB37jDMFrk1FFCLgk5JkocU80CqIXYeyogvEw2G0E=; b=DuTuEjrf5sTZKopbLkOWZX4BUpiQyjy5MeyUkK5KLvdj+o3oZwsUDUpxLuw4DyOlMF z3FtUUJ11tGOug+yw4A+sdbPngi3Kd/q57BOAnZIqAmM4OLX45rcd3NUJIs3vS0st9js oi6Paps3KhKNukrDbtOyV+upSYmBhkC/w9owGCyy6aYi5GTn+75p8iuT1b41mQbVLtxD DzuvxRXVNfzEZNzY24ui47RpUELSw1/dbmWokd9SiQyFpxlyqK4FyQiHzKcqiKE6aLm/ YXw1x6Mq3FqZdf1oxHneCaBv2/tDhwwxGRNlIr4S6SHSOL1m0yAyaULOcnhgbCrPcJrR yr6g== X-Forwarded-Encrypted: i=1; AJvYcCViw3X3/8wkQJfZFKMOExBzNyIBoQxYNXHxnWdv1T2eLiH3bZ1PdgMpzvEHYokN72MJa53xfUR9bA==@kvack.org X-Gm-Message-State: AOJu0YySoQoOKLo3NfnIRwQSNxAHUlxa2dhUMFOdxXZRVJVYjDBs0wBk 4zjPl/LfN87haq0YxVrVW6oHuMREriTOhKRSpbjX+JuCDjzAD8Gl X-Gm-Gg: ASbGncut/FPG6rQ4D32vmhKDt1PJFzfy0rwqicjfzta2MhVM13HvtPQ8VRmdj3hcVSe pu//2ozt1wL5NaNJo6Ie9nq8ECp9ARPcAfEmLiJ3jKa+BQJ1Ufsdj67OxjC2r1vGBsjmzHHiAeq fmXGMxRIaXngH4X+VkekPnsfCHxm4KePETKw5zLVByr+EEu/E9BPI4O071IXENnYqHZroMym4JE z+1WZQeEdVS7NXjBz0sNJ0k98dyvpRGHJCmyXFiiJMw48rKow== X-Google-Smtp-Source: AGHT+IFIfG895zfvT8GzCUxJyeADGB/AxCu1kF4esOpRH04glOkVl+fsRQmzvXQp57tln63UzbBlvg== X-Received: by 2002:a05:6512:2f9:b0:53d:f091:652c with SMTP id 2adb3069b0e04-53df0916593mr3013059e87.23.1732756262548; Wed, 27 Nov 2024 17:11:02 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa59994b837sm9559766b.176.2024.11.27.17.10.59 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 27 Nov 2024 17:11:00 -0800 (PST) Date: Thu, 28 Nov 2024 01:10:59 +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: next is already retrieved Message-ID: <20241128011059.4pr2mpbzg4cg5mag@master> Reply-To: Wei Yang References: <20241127114302.9650-1-richard.weiyang@gmail.com> <60e4372d-a1ab-4ffc-a778-8de29f53b3d5@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <60e4372d-a1ab-4ffc-a778-8de29f53b3d5@lucifer.local> User-Agent: NeoMutt/20170113 (1.7.2) X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 574D6A0013 X-Stat-Signature: 68ounqm7acn31ewfwwcs38y5otszyqus X-HE-Tag: 1732756258-570939 X-HE-Meta: U2FsdGVkX1/u2nrp+cFly1fvucqGrwDNJeO+cA/EfEBcL0gMWf3i1MjBduhZXpzulbxyhv9BQ8wlDzRmI4uwUA+2Njnf2X6/1ykwI/9Z8Qe7+jz0CdLCo/epQDQ8QjzqiufnCGW9vkguSPauwGgcraehRXL88PnJC0k5ABKccz/nax1u4ipdwIaLX+qmDIsey6xkK6mTg5IvUCwMPSuLy8dP2D7r9S5ErGwY2XPsxLgG8z74SV6soMx6QteauPbCEQ09H33wbq9BETrPVt2nS3HxLufXX2CLpNqKbU3zt3ldYSE/Mf5q1oNOXB2TeXLAsl9Iu3dwsylPUGmtS8RfXDzCqHV4FISObfJgt+VgfJB+bZ4ELh9RNOiAkCRABCRqohcu6vezRzhbyh/vJxkqrn76LszWp4qgf6eEJMeAFPzIi/nJTgCQXhSFgtGdSncoPBpO0r9zPAlHtWfce4Z03PWRMXkYrbosbemha+KhaWl9ZkzpKpCeHUWYq16aAXNpNshPnqythwkNKZBkYEmQDP2oaQPaLLVA/3GgkVwpgNFvpGmPGMLCtkQu2KEkuA1ur5qX6oQIhuFUbe0jDChK4M0eQIMErEfJ07HUPMPywZIIPb78q8rcfXg9vXkx7gcaqyQ9JSiisJeJMKsifmI0uTuxov/v4EhpwAfDTfMZfhZbobj1aDbpZs6Yo5sjWIMq7vMRsOIasG6ef9wy1Izn/lGyPgnst41vhnZbj6bRk5XG4wsaq/BjyAzhf24Lf1oMFh3Tt1Qt2Iwd0To1426lw+V7urYNWq5R8y8AY18G97Gvr2envq2MSxMhcCuuI0AlBxAfHzhuuX+nPulYzs9MVk3uoyOm9B6GdlwhhtV2hB/aUleFnaa3YvxMT0lkYuinHefcFS7/oOxYuItbcdHP1+LiEVUmT9okC2hqQ6Is3CRH+Wv7w7Z0Vgva19U3ayRuE1RhrfxH/yM11DMnpP2 e2tMKCj/ 53UiAx/kdRRoQXeBJ+vucbWpPcWtMQUD+wOgABD7hvJsk/XtRjrJr3hciqsOZZYMYL+8KbKVwrr0vuPmtZ97hpaDTh49SFcYpzs2E/B8/mJupMrI/WLeUe/iqcuzvSwuji3HtjnXJU5EfC/aVvUazjTqzHA0yAmxtDozOHH7Ei6mEC3NvcivTcYImSbTYQ3HD310Lhr91W+X2b6s7+pjJHBdIa55o6Ins37S6+GfOCEw+y5UbBZPMne+ZUXb+VfFUESwn9qs2XtnKT3cFWdkG4NR9zLda3no/Y770o+iWilqZkEbhUhO+RMp3xCrVgrAmRujwYK0qQu5Nl7XFt/rKxW2zTYkw78q40HtXUyMfb9zv1eht8qPJOrwDmYMJEs4/KlyW9mIiu68h/X+YVnyHrl4TbStAb9hRcbUBXzC8eGUTjsoa0rFhnaUOXs3t9rsLP6aGL0ZN+sSMDIpwkZ5+LeScd/YXHd1H3HWAgudhUxPyUQ6Yz4lCB4M4+2qiArr/r7TP0qwbVbBRfEp8GJYgRUqtqisL+ptPup5yYo1nHenjC5vNQjt6idSFimukvWsD9QNUhghlNP5W4zUCoYB1UEYQNbyJTofIUavz8cX1LRU9TRKW2Ioqze3sNsEBAsu87AcPUL5569rbPwE5OPQ8a5S7LYfE8aYQuIYsBsdwoQSg9WFNicoJvwUgJSe1mwXO6yPQ 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: On Wed, Nov 27, 2024 at 12:21:24PM +0000, Lorenzo Stoakes wrote: >Hi Wei, > >Thanks for the patch, though I would again ask if you could please stop >fiddling around with the VMA stuff until things are a _little_ more >settled, perhaps best to leave until the new year? > Sure. >I'm talking about small refactorings and optimisations here - for bugs or >major issues - please do, of course, submit immediately. > >On Wed, Nov 27, 2024 at 11:43:02AM +0000, Wei Yang wrote: >> vma_iter_next_rewind() here gets next vma and rewind iterator. >> >> Actually the next vma is already been retrieved to new_vma. Since the >> iterator is initialized to addr, we don't need to adjust it. >> >> Signed-off-by: Wei Yang >> CC: Liam R. Howlett >> CC: Lorenzo Stoakes >> CC: Vlastimil Babka >> CC: Jann Horn >> --- >> mm/vma.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/mm/vma.c b/mm/vma.c >> index 8a454a7bbc80..d419e3700fa7 100644 >> --- a/mm/vma.c >> +++ b/mm/vma.c >> @@ -1727,7 +1727,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, >> >> vmg.vma = NULL; /* New VMA range. */ >> vmg.pgoff = pgoff; >> - vmg.next = vma_iter_next_rewind(&vmi, NULL); >> + vmg.next = new_vma; > >HOWEVER, this is a good spot and you're right (I mean we explicitly _check_ >that the found VMA is after the point at which we intend to insert the new >one). > >But while we're here, can we fix this HORRIBLE variable naming? We reuse >'new_vma' to refer to the _next_ VMA and newly merged one/one we have to >create. > >So could you update your code to do something like: > > vmg.next = find_vma_prev(mm, addr, &vmg.prev); > if (vmg.next && ... > Sure. I thought you may prefer a small footprint, so I did current version. Will update it in next version next year. >This self-documents your fix, avoids the need for the >vma_iter_next_rewind(), fixes the inefficiency you've found, and avoids >stupidly overloading what new_vma refers to. > >Also update the commit message to refer to this. > >And can you update the test_copy_vma() test in tools/testing/vma/vma.c to >explicitly test for VMAs that come afterwards both merge and non-merge >cases? > Currently we have two scenario with merge/non-merge after copy_vma(). I am not sure what exact case you want to have. Would you mind giving more detail? >It's time to really start taking advantage of this huge power we have to >userland test things! :) > >> new_vma = vma_merge_new_range(&vmg); >> >> if (new_vma) { >> -- >> 2.34.1 >> >> > >Thanks, Lorenzo -- Wei Yang Help you, Help me