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 4A789C282EC for ; Thu, 6 Mar 2025 14:06:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C1D6280003; Thu, 6 Mar 2025 09:06:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 94A23280001; Thu, 6 Mar 2025 09:06:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C44B280003; Thu, 6 Mar 2025 09:06:23 -0500 (EST) 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 60166280001 for ; Thu, 6 Mar 2025 09:06:23 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EA6FE1416C8 for ; Thu, 6 Mar 2025 14:06:23 +0000 (UTC) X-FDA: 83191301046.01.E3E29D5 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf03.hostedemail.com (Postfix) with ESMTP id 655B020017 for ; Thu, 6 Mar 2025 14:06:20 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=d6w4votj; spf=pass (imf03.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=urezki@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=1741269981; 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=NjOu9pJBQoqmr0DjbFobF0iHjAynNdClTtCuCIosMZo=; b=qr++fcgbFgGkOFBIsQj+zQE9zjGcV1AcsrOF1OtvHxrTQV7GxgCr7+H8OteLLlqpEY+lkV kaF0DEhB0igCXSuzYy7pgc6OiuNltEma9PRwBnKJ5HyC5I18p5AWpUfGgEZAfaxQDpscLv 6rny1l/MRVGde29Yr3QihwjVD5TXj58= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=d6w4votj; spf=pass (imf03.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741269981; a=rsa-sha256; cv=none; b=WO1C0RgpNOCEIjIfKXNyvFVEK41ikUWyfI8glz3j0z6TKyMc2pHHc1321Ip8yj+E3mW/oM eikcq8XN0eKq8hlsauJQntmolTx19hdaW/ikYCymX7peaYrd1eAbR3dNYFRDjTW/wNO1mi AVBL2lsoUpBmKx9xcCrtSyDhZLCbnxE= Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-5496301c6afso2070940e87.0 for ; Thu, 06 Mar 2025 06:06:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741269979; x=1741874779; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=NjOu9pJBQoqmr0DjbFobF0iHjAynNdClTtCuCIosMZo=; b=d6w4votjd8/X+0IorBonDWzGUmUnMs+4JqGMUCb66mGvJjZ2su1MSVKPBSePG7dZvv 7atzoKETqHlKgiUXZUlEQkntj9jWqBi4q9zReQ9G0l/hsiyHG/YWOsrl/YgbdGlBplr1 wu3Pylr3ZVYdy1jWRk9BJef19loJM7L72h2rVfCvyOz7niS+IgJdvddv9TvnuLFQP+G3 BpZ8BkN7wxhcqhTWtexykkmWBeOGDBxetpoSE1tFHn70tWgQf9MdY5WNNOv6iI85w5oz UJ35UOCAOCkam8bnUvXhSW8w/+MPhLlUHuCT5oL9klCh6jULCFVMzRuU2wGl40DGX3ju 76kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741269979; x=1741874779; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NjOu9pJBQoqmr0DjbFobF0iHjAynNdClTtCuCIosMZo=; b=UQifbussnTGp2sHY6S2TAgN5CzGCZMC+BmCQxtZc6oRdGw5qfobiT8f38Lju7lw0CV U/EUQ3fvkRaZ9PYFPNRlwWTjdNyU39nDawtSPW+peYPlIWS20HnL5x/5CrE1BO2mgO3c A8qE8XPRyqzXXdXbqTcmy3THQhu1eCxsXW95fBit0/TcbLv20f7jU4g7ERlyY1ZTTVrd cB/o/GtKn3hyYH5BDlDCZXV38eDATRLCXUrYtcbCossOki6bQ4hoaYo1PKGECS4K5Ub4 PdA26G1MHBUXqJsCbnJyixAQtBjls10OV8cfr+c8Jf/hYH30p3d+IAd3Vu7HPn8+tAKD QvnA== X-Forwarded-Encrypted: i=1; AJvYcCWznOS0FLKJQ6GaRqQIkSdAd2v/bMZvRgchSR4/8SQc8pKJ6EV9S3gRWWz5Y9nHnWJ22fWozAiwhQ==@kvack.org X-Gm-Message-State: AOJu0Yx+xp8vjlkTCcoR5quVkxtX53oF2/8dNLkXwaw22pAhdH1JaZNR rknRFfhFU8j9DJpaIgyVGWkRnksyd5QuBavpMwQ4PCS0W7iTxT2G X-Gm-Gg: ASbGnct6r9NzX2ktTsz/9D1P8BvAr+cyQXAU3NjSeUjuVmb6QwB98xUWw1OdQsodYTa bGCNPo5EcAJYFfuSoWiKdxld45z9y4tzpobJaiH7jWmAqoxHiVvisbP0SbaoAeZd2ryXr3X0zqo OVeHrcTd/vRkTJ8hl2pkvJHZ9ANzXdoFCDni3M+HzlKCSNNnf/WvUIatSJIsd2DJBuutZ/aIepf poGg1ZFUyxJr8rAeMPMPxZrVjT/YBm9mrJ9Te5Qa9yrepn7+E/VDxFiO7ejS01F6+GSkkD4KVJa I+Ot45QIenWwJoaAvxeLLQH2v1Bp170wtiMwFxOpkSBrPKH02n9jAHfamVZLB21DxTQ= X-Google-Smtp-Source: AGHT+IHHVLXdst00gmesr3Hvy0rJTfIZKopEN1MEoKgO30uOIMCKMIfH16pDR2jSB3ZXUFL7oD6adQ== X-Received: by 2002:a05:6512:2829:b0:549:74a7:12ce with SMTP id 2adb3069b0e04-54984bd24fbmr1117746e87.14.1741269978188; Thu, 06 Mar 2025 06:06:18 -0800 (PST) Received: from pc636 (host-95-203-6-24.mobileonline.telia.com. [95.203.6.24]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5498ae46dfesm186431e87.37.2025.03.06.06.06.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 06:06:17 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Thu, 6 Mar 2025 15:06:15 +0100 To: Liu Ye Cc: akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/vmalloc: Refactoring function __vmalloc_node_range_noprof Message-ID: References: <20250306072131.800499-1-liuye@kylinos.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250306072131.800499-1-liuye@kylinos.cn> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 655B020017 X-Stat-Signature: wji9z5g1mahh7riqik3gn1u7mp3nzao6 X-HE-Tag: 1741269980-850937 X-HE-Meta: U2FsdGVkX18gITvy7CL53A9ipMl8Y5/3so10JlWlSLR/0XSnfPAVc/kp7v4ijr7UlUTUID+SEEaIeI/3cGCt4TpVvUBeH0d9OVvJ6Mir53FTt2X1wu/zRveI4UXr2ZtxD69DXM0TbZxdJIKUiuCiBAL0JR1BOG8cNbawga13mb1kRnlQgxnpjWT20cOod/RFLe0ibMl6ttKRBpgos2QH3K+SP2uwfz1eCo0kJFuma7v9G/eA1omEWlWxuObavqrPpLbpAT4sIEf1u7J+xrgB9osu4n0jQeh2kHpAWbCW6SXVNgCs6cJ/7rOHjozQ/mODcm4nLenUsiN24HyiFXo1HlYcXkP5sIbOa5cfA51R3gOvo+iWleloOmuPG4fARGzqfOEkK2KRarkoB42tHdgdwfddkNCoFElVkvDA7V54NdOHedVA1KLRuiU4YBsFOc+iDdPbE7kCruEXXmDXiEDAyNGQxnnfrPWURDOeTv/1Sp606JR5t/bLVNlzDx9sGqVs+mzdX8MmxtosLJWKxQpfHa25O5FGLSlBbmgOk8A9V0V36fgpoHG0RajmGAco0ddTutCESUbUTz7znQ1vYrAs5EtS1Z9iQhxL2xYpPIvhwH7Yh2nEMz6NT1w+uRMNzlwnhDNpFaUZK0RnAhDOrU5CrArUfyW5wkltMFWVHUDs1iXTomOOJfru7daGz8a36VgyGDT3eBTOZTGMZ/1D+WFs45Q11InNJIYaAYQSIY2EXkUhU4D/EnccxoomCFNt/JWTwzKDghta3+IwbBs7MizaJxtOsEzMcE1icQASq7cEq7iQuv/xyeaColBz+JoAr+6y2N6JCi1G8BVuhNT6H5eqATTXGNvHdMaDNZUlBw+dt+3D/GuOKt+QlhaJE1604tKQy1afq89+Y7cF1FaFzBmB1Ejr+YGOIZEQQImw2La4TZoJlXmsN9MWhMBDqqoAAZnDen89HYtNv40i2pDqB/c j7maObs0 y2yhmGhpZhzV2B95kHaSw2dJBVWiD+0bMyHx0Nlz9ORIFfrNygnWJ5+flumqos936O6e6PlCqx3+Ns+2l7WxYVZ4tIHkn5QpIo9L5AZ5nFH/DgcJcXAAuchicXI3r0PIBxLqq7AEtENRXIWUQ8gC9N7oYV9EpgLUsKDU66mti6TpTeq5Pc6zwsUnMXUZCOXiyI2G+Eojy62JbIMn4i5agd0W4Vm7ydzrFnsksNhq8yW1LIKFOygoY8/KdmucFnq1K+UdSdm+iy1dn/3ro5y4cAsbjffWNUDpF3CJAn4CwsYhl30rI6PFQbFbJecymvejWVJIkCfW5DubJjHpaRim8t8Q4HZThRxNRHQD1UDNCp3sfNsr5wYbcQMg73FkiMWGi+JtalatM6pqQhMnh1hVpwDePmNm2SPMisJZHgIoFq7szj17zzrjTK5s0r3zoVCTF//qG0e0HRfU5q0ofMtGh9TcYuw== 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 Thu, Mar 06, 2025 at 03:21:31PM +0800, Liu Ye wrote: > According to the code logic, the first parameter of the sub-function > __get_vm_area_node should be size instead of real_size. > > Then in the function __get_vm_area_node, the size will be aligned, > so the redundant alignment operation is deleted. > > The use of the real_size variable causes code redundancy, > so it is removed to simplify the code. > > The real prefix is generally used to indicate the adjusted value of a > parameter, but according to the code logic, it should indicate the > original value, so it is recommended to rename it to original_align. > > Signed-off-by: Liu Ye > --- > mm/vmalloc.c | 20 ++++++++------------ > 1 file changed, 8 insertions(+), 12 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index dc658d4af181..a8488452b70b 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -3770,8 +3770,7 @@ void *__vmalloc_node_range_noprof(unsigned long size, unsigned long align, > struct vm_struct *area; > void *ret; > kasan_vmalloc_flags_t kasan_flags = KASAN_VMALLOC_NONE; > - unsigned long real_size = size; > - unsigned long real_align = align; > + unsigned long original_align = align; > unsigned int shift = PAGE_SHIFT; > > if (WARN_ON_ONCE(!size)) > @@ -3780,7 +3779,7 @@ void *__vmalloc_node_range_noprof(unsigned long size, unsigned long align, > if ((size >> PAGE_SHIFT) > totalram_pages()) { > warn_alloc(gfp_mask, NULL, > "vmalloc error: size %lu, exceeds total pages", > - real_size); > + size); > return NULL; > } > > @@ -3797,19 +3796,18 @@ void *__vmalloc_node_range_noprof(unsigned long size, unsigned long align, > else > shift = arch_vmap_pte_supported_shift(size); > > - align = max(real_align, 1UL << shift); > - size = ALIGN(real_size, 1UL << shift); > + align = max(original_align, 1UL << shift); > } > > again: > - area = __get_vm_area_node(real_size, align, shift, VM_ALLOC | > + area = __get_vm_area_node(size, align, shift, VM_ALLOC | > VM_UNINITIALIZED | vm_flags, start, end, node, > gfp_mask, caller); > if (!area) { > bool nofail = gfp_mask & __GFP_NOFAIL; > warn_alloc(gfp_mask, NULL, > "vmalloc error: size %lu, vm_struct allocation failed%s", > - real_size, (nofail) ? ". Retrying." : ""); > + size, (nofail) ? ". Retrying." : ""); > if (nofail) { > schedule_timeout_uninterruptible(1); > goto again; > @@ -3861,7 +3859,7 @@ void *__vmalloc_node_range_noprof(unsigned long size, unsigned long align, > (gfp_mask & __GFP_SKIP_ZERO)) > kasan_flags |= KASAN_VMALLOC_INIT; > /* KASAN_VMALLOC_PROT_NORMAL already set if required. */ > - area->addr = kasan_unpoison_vmalloc(area->addr, real_size, kasan_flags); > + area->addr = kasan_unpoison_vmalloc(area->addr, size, kasan_flags); > > /* > * In this function, newly allocated vm_struct has VM_UNINITIALIZED > @@ -3870,17 +3868,15 @@ void *__vmalloc_node_range_noprof(unsigned long size, unsigned long align, > */ > clear_vm_uninitialized_flag(area); > > - size = PAGE_ALIGN(size); > if (!(vm_flags & VM_DEFER_KMEMLEAK)) > - kmemleak_vmalloc(area, size, gfp_mask); > + kmemleak_vmalloc(area, PAGE_ALIGN(size), gfp_mask); > > return area->addr; > > fail: > if (shift > PAGE_SHIFT) { > shift = PAGE_SHIFT; > - align = real_align; > - size = real_size; > + align = original_align; > goto again; > } > > -- > 2.25.1 > This one looks good to me: Reviewed-by: "Uladzislau Rezki (Sony)" -- Uladzislau Rezki