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 55E2CC27C75 for ; Tue, 11 Jun 2024 14:52:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E15A86B0093; Tue, 11 Jun 2024 10:52:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DC5C06B00A4; Tue, 11 Jun 2024 10:52:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C66246B00A5; Tue, 11 Jun 2024 10:52:33 -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 A0CC36B0093 for ; Tue, 11 Jun 2024 10:52:33 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 358D8A3135 for ; Tue, 11 Jun 2024 14:52:33 +0000 (UTC) X-FDA: 82218898986.20.684470D Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf28.hostedemail.com (Postfix) with ESMTP id 8FFCCC0020 for ; Tue, 11 Jun 2024 14:52:31 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FkjfwdcB; spf=pass (imf28.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.48 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=1718117551; a=rsa-sha256; cv=none; b=1qIjvz5kicDB+ikLtxyxQhfNsFKgel20+KYu9Ce+6VhOa3sSAFCoMPVLyrHnqX/2ZNVY94 Dl0rVOTJ4Z3XuCnujgVxSElNw19iQGv8xRt9eAoSEi1VxiqTFeM69lTcNZ0TIFZJuqp83F GQjaV3yRBJ1/VijzwHKOWlna0t19hqo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FkjfwdcB; spf=pass (imf28.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.48 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=1718117551; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references:dkim-signature; bh=BZrICliq0dgPagDD9CyjOKTcHkHxS1yiX+fIF0HoIkk=; b=I23VJpJtGq/d/xCnStFnoWur1iD5CK5LFf+bgyxww7l+m1jnGPVCAPFUqkrRTD7XCzQ2qX G0W1aWIOgu/jVaPSzn/R2JxDRfENBb/hbwUABfztYTOzIBhs/ei6SUEpEyWjM3P/NidqCL +90zR3iv1SwOuGvw4JuP56SO7P5EpaQ= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a6f09b457fdso289932866b.2 for ; Tue, 11 Jun 2024 07:52:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718117550; x=1718722350; darn=kvack.org; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BZrICliq0dgPagDD9CyjOKTcHkHxS1yiX+fIF0HoIkk=; b=FkjfwdcB3+a8LHqxxBMQGBrUDt1lzTRk4fJ7TijDgEIxfaRLQXWDdZ3beih7pkRlbp CUvRVfiCO+6gPIH8BAiw8WM6g+83UrAhBGMi3DMDzP5uq4P4XSz3yo4Tw7WF/VIHZW92 NhyYbW/rqhRx8tEegZFrYAOAUtV6X44ie1neUqdsvKQbSDQTOEL28REqYumi9fp9YIvl PVqvUsrNgh0Imz40VJOWBSxxwpRrVt1Lfqn5g3B0GiEAKsyDMsnDp0VybCWLLzl5Kf3J wirFGGRJTxO1m/k0XbLTTYvbn8FTI2As0bBvPeKZcfEV5LjfuULataQDNM/Ombhj3bBV +2MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718117550; x=1718722350; h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BZrICliq0dgPagDD9CyjOKTcHkHxS1yiX+fIF0HoIkk=; b=VAhklivVxqt9N4em3bq7BM3UBEGGUM4ijLYtII6IXs7syZAkA3hJeVxsrULUGyYxbW LnupW9ozy6I6MIWDDfPpGPpPIsKJ5Av8uCeVvlp+H8TyNhWEXyKR980sqtyU7Y9ILrI/ 8OxMyDkcgK3ET4dfqXFzL/oeWDgUkzS18yWROE5bKVnNpSrwMzwzfYBVEtPOsSZaErpD uY+SpnmXs/vffpUKpdEtOAEYKr8sthFYgLMmim3BkAsq1nI+Jg3mu++9Ew2IJjW5aKhP RbtlrqWO66MDYNluucwj1mxpdXrWU7qtnM2qI8Ht0VxkaZTYgaGBkOjflCMz5FPXMPAe oNRA== X-Gm-Message-State: AOJu0Yxcu2QEDb9izEzpcvZ+et7gIc0SlJ/MY9dWQRsMFOOUc6Ay03al oznH6mK/EM9fTB4d2I4quiOLB5+KwbJbkCouN+1XDc0DZVwVFBeb X-Google-Smtp-Source: AGHT+IHmaVS+/kPiZz4aJwj+eVN36TP4RzCovhx+m+m1wPyJXpPqfIXRUQp+Stp3ToZIEmCz69khCA== X-Received: by 2002:a17:906:b798:b0:a6e:b5f0:6c62 with SMTP id a640c23a62f3a-a6eb5f06d0amr643495866b.8.1718117549678; Tue, 11 Jun 2024 07:52:29 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f19171cd0sm319946566b.61.2024.06.11.07.52.29 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Jun 2024 07:52:29 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang , David Hildenbrand Subject: [PATCH v2] mm/mm_init.c: print mem_init info after defer_init is done Date: Tue, 11 Jun 2024 14:52:23 +0000 Message-Id: <20240611145223.16872-1-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 X-Stat-Signature: gdbsmw1tt3kabdp6jz87snfo9nunz7ci X-Rspamd-Queue-Id: 8FFCCC0020 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1718117551-606467 X-HE-Meta: U2FsdGVkX199rsTdAyCMKf20EDfI0JmFhtLJ1uLe1tfARdsw7iVrKUJLleQfAiHtVLLoHgGX0K5eas71AxSTZM95HBtJCKBH9h+PcF666ZoW6PSD6CB4brcNH1eijJmFLeuzuaZgxG715cD2xfefzhOPvmjpgqWHUlEYAod2Ovi9b+B6szkxNzDv66LRo0t9/C6V6B9zIUj9V4iRDWWORPWkwcr4Cng5IR0sw8K/c7Orxh/AKfDTVschKwGGmL83rXkIOhiUpnwixvPma4NWWVu3XIN6ZiR7EbF9pPj0/k+KQwPus/UQ4ZGxOH1e8hWMJiLiGmcwMV/cICJpn1a1z+ZRlssuKQUUUQahPpbS7BKxLHBKXlmQxmxp1u4mNRVmNsLH5SC5SUAZEmTH5eLBLH9/gS196rHqL4CrLHBnxUB8Zl6FFahxleGs+lfBIKnAQuDZbq/utk4urBbYD/1vouTqftkyrcPzXoV/zGjzw2dTmBgrhybwySHEIzAv7AusPn3Um8wXvcTz02FwXZE/xUaszaEK7bcSSD/urIkWBCx4Rob2uqpL4gdrlA1YKQA5ua3IYmiPxqqYBG4Jkok01u3V7+C88yU4honhmKj14+29/tjza74Fbw+SJVc4cUjF/NPGqT01C4gvJPiOCQFniYaSmgiDS06u0Ojw64df1Lv7WRNTFVfL5gqlnL34wD9fGnWPXa5MGeDMnvAXsQTWWpU7PNX952Hib2VAiPl4BVOur3UGWamb128fgxQAj+UgdK1KyQgP0O4yW/VyeSi3gUHbxPTSJbXBGFAuyvwn92AKKXnLGG7VqwRxL3wAAKU+bGfpqeswcQGVDQFXlcYgVpuCrqYZunbW+c4c2JkDWfqEGp8YgLrM6O5uQDymf2VHhndqRmKYOEqlBALL7/NyEHgdfJukyTNyiXCwQNEm8S8e9ck84NepELrunFppAnOqzCxvzUBf5qfrmidN16L +ump2ZtZ 3WSYdQb6L2vk9+jGMW/OtnMzEfse0MygrS/khffAJGWqUTprjqmYvaRbtAoDZbUrNIYmwnWx2EXIfoGHt3KaxZluObWZR68FPrLHcrexWQb52BOi1YwiFExlzPQ4m8tw6DxFtqPQRxCqPCfigv92usYNePTYchUuhG87atdVXSXq0djeS8KwHuM3/DjWYe6ESLR2qTBoK5uKYiQQYJzB3M+F+87LS28DtTiwdPtYKcIn0DAk86B96+pIb5DE3WKkzmrS0MPcLYzC5mJ+cXUfab3EBr52Ssu3sNJSd/mdzAr18lAMoIhjnAY5mPuxnzeujWUC6gmZ7KPSuhWTPmDv/xA0bKAwCiskC2Z4FGoHk/3UKhadAPU1xRzfu+Ufcgf6XSG0D8XJQe25Ok66gsFje7WaFbbZoZPPfTf7p5pPJb4oXg74xZ/KNylyf8O/Su3Mctka6JZoN9iM0lOjwhCJFo4dXGupIe+lAv9vFK63PcmnRr9A86hK0wlDWhPK9qQzAGDhJNslG50IxE5yW8IFTjA4QzA== 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: Current call flow looks like this: start_kernel mm_core_init mem_init mem_init_print_info rest_init kernel_init kernel_init_freeable page_alloc_init_late deferred_init_memmap If CONFIG_DEFERRED_STRUCT_PAGE_INIT, the time mem_init_print_info() calls, pages are not totally initialized and freed to buddy. This has one issue * nr_free_pages() just contains partial free pages in the system, which is not we expect. Let's print the mem info after defer_init is done. Also this would help changing totalram_pages accounting, since we plan to move the accounting into __free_pages_core(). Signed-off-by: Wei Yang CC: David Hildenbrand --- v2: * mention this would help changing totalram_pages accounting * instead of moving the function ahead, add function declaration ahead * add a comment before calling mem_init_print_info --- mm/mm_init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index f72b852bd5b8..769d5ba6bf38 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -2322,6 +2322,7 @@ void set_zone_contiguous(struct zone *zone) zone->contiguous = true; } +static void __init mem_init_print_info(void); void __init page_alloc_init_late(void) { struct zone *zone; @@ -2348,6 +2349,8 @@ void __init page_alloc_init_late(void) files_maxfiles_init(); #endif + /* Accounting of total+free memory is stable at this point. */ + mem_init_print_info(); buffer_init(); /* Discard memblock private memory */ @@ -2737,7 +2740,6 @@ void __init mm_core_init(void) kmsan_init_shadow(); stack_depot_early_init(); mem_init(); - mem_init_print_info(); kmem_cache_init(); /* * page_owner must be initialized after buddy is ready, and also after -- 2.34.1