From patchwork Thu Mar 6 07:21:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ye X-Patchwork-Id: 14003922 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 73B6DC282D1 for ; Thu, 6 Mar 2025 07:21:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6CBF46B007B; Thu, 6 Mar 2025 02:21:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 67CAB6B0082; Thu, 6 Mar 2025 02:21:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 544086B0083; Thu, 6 Mar 2025 02:21:52 -0500 (EST) 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 369306B007B for ; Thu, 6 Mar 2025 02:21:52 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 72DED81119 for ; Thu, 6 Mar 2025 07:21:52 +0000 (UTC) X-FDA: 83190281664.22.AF36541 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) by imf15.hostedemail.com (Postfix) with ESMTP id 13EA1A0011 for ; Thu, 6 Mar 2025 07:21:48 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of liuye@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=liuye@kylinos.cn; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741245710; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=JLpi79Dl/xSnfYyKEOSZV7G6KZrcMBcXGnDMb1oz/3g=; b=MVs0Eb/nBpDq8XF3JKyBIlkCDOjnCMYZE4XH2syBIJ2khsFRFJ9JZQPlH9vCv4clWSOjY+ cdHMYqco6dsFzKrYH3Y//6p1+0clK/D6o8sjjrnuzFTdsJIRJuhLmtN7eDS4vrDL8Lltqa yGGE5Hl82mhueV6SIVFrQdlXidcYeTs= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of liuye@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=liuye@kylinos.cn; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741245710; a=rsa-sha256; cv=none; b=sFcLA8AknTxv5SF4XW5JZtDz0OReo3vaMOiBGR/EDTq3N4J26RI4m/bJYqlwpBDgoe15xO 88jyNF5e9v1E87lkp6Y1YWiNAq6v2vXRltJx1H338Fv8YFK2hpXlqohlXCVZdCVSpB/k+m xZQUmfWIqmkujksUXNPzXHREhidKkT0= X-UUID: a4e8f314fa5b11efa216b1d71e6e1362-20250306 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM, HR_SJ_PHRASE HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT, HR_TO_NO_NAME IP_TRUSTED, SRC_TRUSTED, DN_TRUSTED, SA_EXISTED, SN_EXISTED SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_BAD, CIE_GOOD_SPF GTI_FG_BS, GTI_RG_INFO, GTI_C_BU, AMN_T1, AMN_GOOD AMN_C_TI, AMN_C_BU, ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.45,REQID:7345bea8-c9fe-4f5c-8980-2b8dc4866e55,IP:10, URL:0,TC:0,Content:0,EDM:0,RT:0,SF:-15,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:-5 X-CID-INFO: VERSION:1.1.45,REQID:7345bea8-c9fe-4f5c-8980-2b8dc4866e55,IP:10,UR L:0,TC:0,Content:0,EDM:0,RT:0,SF:-15,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-5 X-CID-META: VersionHash:6493067,CLOUDID:e19adaef1ae94a8ffbfa234d8795a994,BulkI D:250306152141O4QPG1SA,BulkQuantity:0,Recheck:0,SF:17|19|24|44|66|78|102,T C:nil,Content:0|50,EDM:-3,IP:-2,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC: nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_FSI,TF_CID_SPAM_SNR,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD X-UUID: a4e8f314fa5b11efa216b1d71e6e1362-20250306 X-User: liuye@kylinos.cn Received: from localhost.localdomain [(223.70.159.239)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1277318593; Thu, 06 Mar 2025 15:21:38 +0800 From: Liu Ye To: akpm@linux-foundation.org Cc: urezki@gmail.com, hch@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Liu Ye Subject: [PATCH] mm/vmalloc: Refactoring function __vmalloc_node_range_noprof Date: Thu, 6 Mar 2025 15:21:31 +0800 Message-Id: <20250306072131.800499-1-liuye@kylinos.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: gibr1t3xd9mq1ue4izeid56ytemobe6f X-Rspamd-Queue-Id: 13EA1A0011 X-Rspamd-Server: rspam07 X-HE-Tag: 1741245708-644546 X-HE-Meta: U2FsdGVkX19cpXHXxf43umQP41ikD3I1vzB818KvAjGMVtVBxBkn+b8hgnhxvfXjqJdQhfzXvLrnfnkH1BsT59i3CtKsVKk4BaqeBhPgVq/jx5ZiI4DJGx5J26ukbUMl8DouNi6WPRbYAr/UfeiiOE0w2flYmeJuUoYUfdGs199IxIsjRFRnmZT+bIWxfFYhY9l+zkI/yKcz08UPeamJeFrUzPS7qVob5Mcbh9pNmt8JX00wzdBn0ZyRP2SC6eB6bkW4q7VXHz3acJWHBaN0JiMN5FQAvC9h1n5zZt+N2FxBE5pFPFniQOqA0oA451IATR1hMz5vCMZ2uud0vfDJ9TBnRE5etI6DysvtrPgdxx8ZZWRYZE0dMNLYNL16+XqSaIoTNW2OTGWaufu9dooSSEAAAMeHqdwJiczwFHyG+unCVriURNM2WjyrI7gakTkA4EFoNADuhnrLUNA+fu77wtYN09mVoWlJmrzIqbBY5gvM0ZhFau8SFWt7DkWeMxlEbUOJu+bdJIa5WWUSxlQTLcBUozp7ni4xHxuPx8eN2QVBqtNFmK46Mko3fQ4z/BXJTsiySL/5MQRSPq/uWhcxrDYhcxENg5fbQxCDEtx/TtI46gsC9MT31bmTDf3AoZwsDZ2qa2/nKi4SmPLIlfAD5DdHpyAcij+wp8TnFGq7+E21aGEqRIADRQkpzPMWLbRgNtMaPrFyobdBrjFrPW6CfyzdMnG+UKL9KmqoBdJL4dUei/ClWLIhliXlLKcYbW2gYvmnFkrbHMbzBxRKMJ57tgKqufw24JkRiswnln/n2/u+L79f5cc7ivH9a4wxhKURPMWQ8vWhOpn+LP0+2nfe3LbP5YwL59NYCjMHrxG7qpWGrPCTysEAM8nAYJUveow/n40jA9bLpb7bC/aPwBFvja39jyx72i1rvo/uInGpxem04Zrewwa/VfSHsqnOU5KEY22Qf6LIaLvWUYJ9sRu uDnjhWqu J0FPsCXoDEO8m8ikRTFMN7ya4rpBNZT17BFzUdAe/7Q77QmDG5XE1mbUydMnRO28J8fUB6duOyJvkWm4= 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: 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 Reviewed-by: "Uladzislau Rezki (Sony)" --- 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; }