From patchwork Mon May 22 11:08:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzislau Rezki X-Patchwork-Id: 13250143 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 787DCC77B75 for ; Mon, 22 May 2023 11:09:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D083280004; Mon, 22 May 2023 07:08:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3821C280002; Mon, 22 May 2023 07:08:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18DA2280005; Mon, 22 May 2023 07:08:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E3AAF280002 for ; Mon, 22 May 2023 07:08:57 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9FC50C0CE1 for ; Mon, 22 May 2023 11:08:57 +0000 (UTC) X-FDA: 80817618714.13.C740EDA Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf29.hostedemail.com (Postfix) with ESMTP id C86A412001A for ; Mon, 22 May 2023 11:08:55 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="GkR4/dm/"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684753735; 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:in-reply-to:references:references:dkim-signature; bh=sNtfrgi/quI4TC521AyXgwFWeKCoK/ixdzMUo1Hjyag=; b=tIVKtvKipIvRDEZEARL8Vh1O6yt4eMYSSzItQseL6/fyUll0eLXMXIzkDsJ3WTsajv5uaw VqbofBJmHoPYrCt4LxP+wh8nk8kD5XvqAxGCBnFiXQjWs5hqJquX17Wg0mcVpPHhS0vsLe 8Bc7VAg9UjheJI4PRyOfwap75ioANLg= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="GkR4/dm/"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684753735; a=rsa-sha256; cv=none; b=Y54hnbKg5/9i5r6a2gOLwais7giRAUEXXFTKxKlODzUVydmFSeGiJg9fOGqjEz0LHHQb31 48YFroqcF2LwEK+UNj+BfULf5uR8T/wtHpxB6DoJVt7HdPA+i2F187C+eACVl1qyxkgTdU qIMoQu17fe9Lxj9MUnF2a/kQSvDrfIQ= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-96f683e8855so488847966b.2 for ; Mon, 22 May 2023 04:08:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684753734; x=1687345734; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sNtfrgi/quI4TC521AyXgwFWeKCoK/ixdzMUo1Hjyag=; b=GkR4/dm/njRpBQa+KVraZ+7JOlNk7shw4BEphYd/T4MuYuRj9UeHx7STRIkE9qZ3ZV 2oXVDGHFmqIOsQbp8tUn9Y00B46Baxi7Y8dneLOn6DV42d85pL1sEsY68+QnjQ1f2vmJ aDPoq7XcD9rLqsdzZWq3ANly5HjVSjJ29W0p5d8YhCo15pKjujxSAlIMECHBsZDAyuMN tLgaKTuxmHTfb/eGGN0rAdS+/lKXxYAVJyynl/B47Xw/ZEaCyR2lt1lpmnS2FpLh3BXG MgpEFyKwNZW3Q2xr0xt2mb+dk5JSHw7+52EgYFgJevxmwbWAu2YUPoOjuE6sjvnpUmYm ZEog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684753734; x=1687345734; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sNtfrgi/quI4TC521AyXgwFWeKCoK/ixdzMUo1Hjyag=; b=DOqjbxqCj9aK8CO18cuqZJSIi2K+wbQRGczOP7CJdZdR/4Qq/ZPFYwcV68YZOJzRoH qUpbHqYnmy7krNeaidqIMz+Ax1Yz7MIgAnWbWCu6kmE4IMMvIa+l/akE8r/5XZC4v93A BxtaajxxEGPtBwhj9H5SGqAmliwej6OOFQNnlqHgNi+cvFMWvuet0mw5BD+zccz2c33j Jq3zhsStD2noscgYLPg0+R/VHgd8NuLM8R/6jGH0pP7JarmHwWhXXOTWlsTcfXP7pI2e 6BUptp9CGi6lljkqDh69U0Lbb08jLPfbqdqu/iSI6cH5GrHSXPNSQD/SNbOo/CTac0Su IJUQ== X-Gm-Message-State: AC+VfDzi5KWikHg3bYHFvbI/6yt7bBuG6KHbFGozmxguZAfgik+YYKZl 2t86l9ru4xo0QPkxt8LN42zJulB3HVGihA== X-Google-Smtp-Source: ACHHUZ6CkjutlmxyUmi96KfbjXVfsWOUvXlEtbViniM+ZZDlWRxo42QLeXCAxHA9y4X8Xg8XpIQzUA== X-Received: by 2002:a17:907:d21:b0:965:4b43:11f1 with SMTP id gn33-20020a1709070d2100b009654b4311f1mr9711913ejc.3.1684753734338; Mon, 22 May 2023 04:08:54 -0700 (PDT) Received: from pc638.lan ([155.137.26.201]) by smtp.gmail.com with ESMTPSA id lx19-20020a170906af1300b0094f07545d40sm2949453ejb.220.2023.05.22.04.08.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 04:08:54 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: linux-mm@kvack.org, Andrew Morton Cc: LKML , Baoquan He , Lorenzo Stoakes , Christoph Hellwig , Matthew Wilcox , "Liam R . Howlett" , Dave Chinner , "Paul E . McKenney" , Joel Fernandes , Uladzislau Rezki , Oleksiy Avramchenko Subject: [PATCH 3/9] mm: vmalloc: Move vmap_init_free_space() down in vmalloc.c Date: Mon, 22 May 2023 13:08:43 +0200 Message-Id: <20230522110849.2921-4-urezki@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230522110849.2921-1-urezki@gmail.com> References: <20230522110849.2921-1-urezki@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: C86A412001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 895bm6bbwumciyoubt3aqbo8ysqno1mn X-HE-Tag: 1684753735-228684 X-HE-Meta: U2FsdGVkX18hmhigUOZiPUWmHuc2BQAZZdsw60GBIt9zHYfbdh0L/iOBpILq7s9mw55bHmQym/uiEl3S8G3KuQjz+tKBHKhpyNeDd3CPvh5MX2U7AUgYFtJluGlsNuKNpvlr2uCCCFtjdtoYU/8WjZuOamNou2pYWWfQtD8Bz9n9YF96roslkH1vmNMkxcj3p/fl86rVxuH60UEFlkE3mD4hx9lUue6aUd7hC0Jwwe9Of94s1caJsIJTOUO3s+Me9FKNnLV7YqbgB11YpHfNv+lkOV9H0QcY+g5cuaUpR5VzXVS2bEDuozIz/H1+96VUL0VC+0PYyIEZwmINTHni8osp5qO3u//ZMoezdTk/L5F3r/icPHbfZo0hzP2GglVTKr7C7RqlSPPc7Bja68ymmKfronLYOQY/QHBMHSJP7BiGXP90zCBCNAqPupoTGPsarLiajueJdbMo9nrC3QVLxOHcRYTvXjmijHBZ7D+CHJACNrRUmNcO+/y/KsDckEu27UNk6fj1K9o2Nqk67dHIMI21Ob41PPsinBYbvvQqmV5+oKMwH1e0AqsFhlAW+C51Ahmv3q5CcFizk+23bMp2aU3eIXyCVBrZkPKaq/rs0r50PX67jpjw+ogGjSCsagAf2iq5uIPMPCk75gAamGkNI+8AVGptbNWcxIeeWAXcMxHSFjue7FPO3ugA3UVEBkRmBcjAMnhBbokgLfu5xWRvFhTgd42QZHWXRm0EDxMQhTEP7Ti1BI/1OqJGqExUfzx5Zt127qwNd4d0IT/u0TXRwaFMBmcVEDZYwOM3chgc4ZnoDe+MGYzcsx+bNxlENQ8Arh/OXhVHTM5Z36RXgkHaKqERbx/WxlH5NV0SUpyNKnPnXN0baBIHz0s8iUklbIak3k8IqeSUSo4YVdg85Df4enOInYI5J8MYUNUqVUbjxD95F7cF9xp/XRByJEvkIQvSFAZxKYULycPSrKT825U Th6XS60s vntVrQxHvK8nyV8BmLhk07yxsfSGqyAlCtt43fRfKyekpwQZN7Tbcl2jmza/Q2o/q/j0DT/F18Nu8UP3RBFo4LgDpMf2TcjU1cU7qsxkJ9VdH4AbP/3C9QaHAl665llcJGHY75VyNhebyimB03px6lU4L/C8E1EVQw2N6I5EtH4G5EmOqL1AZCNi2L6aqtptjbVc+k20CrrnUQtZVXQ4ldzVz248dwUL1PV6iIWRSPjHbZgE5/ovjsMTrH+E2cGzbfItBASpkLvygjCpOeYXij3qGn9WnSaQcwOnWE1ecCA6XvwC5WljiX6+gAJ0rjNyvT/XKInPZa8YBUsCcRQv0Y0EkFFm742FtU5fWRkWjeY0Za8m+AqcngQ2x6NVaE48J0OCgPhnv3bNesKgGpJZ6nkCTXWV5G2I4eI5mzIzTM1prgN6l966/q4GJ0l8Wi3eH4hRqzFIe1Ng8LLTxjO3Tjqt8CQOotWOt4OZaS8W/7xgZu5M= 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: A vmap_init_free_space() is a function that setups a vmap space and is considered as part of initialization phase. Since a main entry which is vmalloc_init(), has been moved down in vmalloc.c it makes sense to follow the pattern. There is no a functional change as a result of this patch. Signed-off-by: Uladzislau Rezki (Sony) Reviewed-by: Christoph Hellwig Reviewed-by: Lorenzo Stoakes --- mm/vmalloc.c | 82 ++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 5f900efec6a9..19dcffb0d563 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2416,47 +2416,6 @@ void __init vm_area_register_early(struct vm_struct *vm, size_t align) kasan_populate_early_vm_area_shadow(vm->addr, vm->size); } -static void vmap_init_free_space(void) -{ - unsigned long vmap_start = 1; - const unsigned long vmap_end = ULONG_MAX; - struct vmap_area *busy, *free; - - /* - * B F B B B F - * -|-----|.....|-----|-----|-----|.....|- - * | The KVA space | - * |<--------------------------------->| - */ - list_for_each_entry(busy, &vmap_area_list, list) { - if (busy->va_start - vmap_start > 0) { - free = kmem_cache_zalloc(vmap_area_cachep, GFP_NOWAIT); - if (!WARN_ON_ONCE(!free)) { - free->va_start = vmap_start; - free->va_end = busy->va_start; - - insert_vmap_area_augment(free, NULL, - &free_vmap_area_root, - &free_vmap_area_list); - } - } - - vmap_start = busy->va_end; - } - - if (vmap_end - vmap_start > 0) { - free = kmem_cache_zalloc(vmap_area_cachep, GFP_NOWAIT); - if (!WARN_ON_ONCE(!free)) { - free->va_start = vmap_start; - free->va_end = vmap_end; - - insert_vmap_area_augment(free, NULL, - &free_vmap_area_root, - &free_vmap_area_list); - } - } -} - static inline void setup_vmalloc_vm_locked(struct vm_struct *vm, struct vmap_area *va, unsigned long flags, const void *caller) { @@ -4271,6 +4230,47 @@ module_init(proc_vmalloc_init); #endif +static void vmap_init_free_space(void) +{ + unsigned long vmap_start = 1; + const unsigned long vmap_end = ULONG_MAX; + struct vmap_area *busy, *free; + + /* + * B F B B B F + * -|-----|.....|-----|-----|-----|.....|- + * | The KVA space | + * |<--------------------------------->| + */ + list_for_each_entry(busy, &vmap_area_list, list) { + if (busy->va_start - vmap_start > 0) { + free = kmem_cache_zalloc(vmap_area_cachep, GFP_NOWAIT); + if (!WARN_ON_ONCE(!free)) { + free->va_start = vmap_start; + free->va_end = busy->va_start; + + insert_vmap_area_augment(free, NULL, + &free_vmap_area_root, + &free_vmap_area_list); + } + } + + vmap_start = busy->va_end; + } + + if (vmap_end - vmap_start > 0) { + free = kmem_cache_zalloc(vmap_area_cachep, GFP_NOWAIT); + if (!WARN_ON_ONCE(!free)) { + free->va_start = vmap_start; + free->va_end = vmap_end; + + insert_vmap_area_augment(free, NULL, + &free_vmap_area_root, + &free_vmap_area_list); + } + } +} + void __init vmalloc_init(void) { struct vmap_area *va;