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 4C5C0C27C53 for ; Sat, 8 Jun 2024 00:45:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ABEDE6B009A; Fri, 7 Jun 2024 20:45:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A6D796B009B; Fri, 7 Jun 2024 20:45:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9356D6B009C; Fri, 7 Jun 2024 20:45:07 -0400 (EDT) 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 73F0E6B009A for ; Fri, 7 Jun 2024 20:45:07 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 153DD1205C9 for ; Sat, 8 Jun 2024 00:45:07 +0000 (UTC) X-FDA: 82205877054.29.40E6C87 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf08.hostedemail.com (Postfix) with ESMTP id 2236C160010 for ; Sat, 8 Jun 2024 00:45:04 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=N2euRrBS; spf=pass (imf08.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.44 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=1717807505; a=rsa-sha256; cv=none; b=zkDuZXyz3Wv3sEYQiObEsnEqLpQe5IgfXfiGwQh3ekY3vd3WH/0YWJWLbXYVmh8MJDnJBl KlTodv8ylfG2WyYcxX/mbtXH+zxP0BoMgzH3S4cafKNzIm7bkKxhjnEgzxJ+ZWLmTFO4Vm 8wfg3BA95jZwfmqj3q+Vn429oPJ7IOM= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=N2euRrBS; spf=pass (imf08.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.44 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=1717807505; 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=fee0X3PndXsbwlVs4kMm9LMqHNhfW9Zp37mKixoORPg=; b=SjLNYv520Lk/muIPGb81RksAoFC/OcOI22ueP2szvMPSD/Ay8iRLDTqMGEt8xvI8AgmvsI LWzbiH+xLsCk5CMBxPGwhy7BgPuBDTQ3kIw5Fbjs7WFutQ5ETCdi4PO1v6e6Sqqa2TbK81 4+dYQZhio6DUb3BR/g2UsRIP0e1YiQk= Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a689ad8d1f6so331124666b.2 for ; Fri, 07 Jun 2024 17:45:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717807503; x=1718412303; 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=fee0X3PndXsbwlVs4kMm9LMqHNhfW9Zp37mKixoORPg=; b=N2euRrBSnREdjbDZo13lorEJRo8xSxfWesWrlPCGOJXvbcPVq+m728mR6884La3sWo m34+OWc+G03GxZJl8Lwu/2BXVfsNSL9GF1coMWvB3C0treUYgnmzVBsjEW0EsuTRmdrk 8c1a263SpuJ8mhWcoERwbZSa8FPwhT8c7WZXarD3DZnZkP0bLhTLinzFSn7ji2ShS5II Ejmwfcejx2ui7wjrkQxS4YjG5yyHEEzume8GNuzAyUaVmPntoJ+XodE/wLDcxzwwz1te 7hs8YgQuPVwVUJa3BbuAGM8FLVWQber+QiOSGsP59UAV18cr1PHYxyZr4bZoUtybyGA0 I0Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717807503; x=1718412303; 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=fee0X3PndXsbwlVs4kMm9LMqHNhfW9Zp37mKixoORPg=; b=acdOK2fw4V8LqkfCS7QmuLu/1Lgf1EQv4vEXESGUc7pUyjLG872z15hLSxZanZb1Ei 0ORMRcf2YdMZJ/VuU4XRESBigafwGPqqfohvqxcspZSmG67PLRh1w7q29ftvjUtLNL+5 i5/hYSwx4zPGy4NCiKajS9ZVz9kQ2PzquRcR3rpCOhY8SIhE3UU/Ih28xY1+uYGQaqfx fJ1/mW0kwEMW/YXdrAi4hzvEiJPYZVfowo30n8BRwfzUW/sCZoNLjMhtrZUICCddm4LP NJBtFZYCPoov89JHahIuk4Wj/3KdyK4Tm35T98YLA1tvkaYj6GleoFJCZdkawjU4xz5J ELFw== X-Forwarded-Encrypted: i=1; AJvYcCX451V8QPGISn+TatWOyuExFR27ye3tEqvSQM7V9jt1Q68NuMPnkidH6b1IVtMfbPQr9nkJvEh36sbyqbBQhG6gX2U= X-Gm-Message-State: AOJu0YwRNodkLN+NsWd3V/uuaeF44S3ZDu5JuILhumaw2p4sXocA4n/M GbgdmtZDYtG4n1DQQIOQ8xSkQnEoZ+5eYqHOx0+7+ZZKDVsEEeb0 X-Google-Smtp-Source: AGHT+IGQb+i2fGNydYMU+1BA6+rdW15xMO65ktQKpewwZhVK791wlma4PPICgc4lDd+SHIArVAr1cw== X-Received: by 2002:a17:906:c1d0:b0:a67:b440:e50e with SMTP id a640c23a62f3a-a6cdb9dc4bfmr247916566b.71.1717807503369; Fri, 07 Jun 2024 17:45:03 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6ef7913eb8sm77499366b.178.2024.06.07.17.45.02 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Jun 2024 17:45:02 -0700 (PDT) Date: Sat, 8 Jun 2024 00:45:02 +0000 From: Wei Yang To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Wei Yang Subject: Re: [PATCH v1 0/2] mm/highmem: don't track highmem pages manually Message-ID: <20240608004502.bm6pqus3ny2hbxq5@master> Reply-To: Wei Yang References: <20240607083711.62833-1-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240607083711.62833-1-david@redhat.com> User-Agent: NeoMutt/20170113 (1.7.2) X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 2236C160010 X-Stat-Signature: 8eocamn7k1huy3qho9bsq67grmhrfwsr X-HE-Tag: 1717807504-473742 X-HE-Meta: U2FsdGVkX1/GE64cFZMYdVTt39oN+v61m7gNKXGkdokaBh0/5u68AnutcxSkPepPF+bxWiID9CS3fiejAKY005r0vaaOPtRHPUb6TCmQVNl18M7rjDPhyP1nHxGYQZlGdioFe/EbOkvJNZ3AckzSaFK/f73ISlmthmJ23FucTFIc1ifahtOnKSLMaO3Sv5AM0fCf/72ZrZ1C9LwMNlr1Wt2i7rYmn/RF7HLju5oTNozAuHhhy1XhmbuITVKgDF3ZGhrr3kMVbGVGQUMknQTTQVK7nsCvC2mYukhdemdv4gXEEWup4lOX6rzSWAcGurzWdj9uEnRHeA137ww+PzRD9fbOOjo3xru43CgRTTQJgm+DHVKAJUmHsnJhrNubwWuDFz3w7JEeSujoDoFiSXpl7AQFL9vIQA+fZFCTxOWjsBkU2kKE5Iz9C5BqJQJ7qFpNXhe8ia63fgLE36I1GtRggCrJqUrS9xZKKwr7e+QYNJb/S2jZNZ3judO257Qo2A4fksL6Chq475p65zmPpF2PflwmyhiXQh36nbYJSuhrdti9y086y9uRM/uPewkZuCTD3+WQ2Jbs7ykfRPg8QZG2JTGZaOBCMu+/Jw0990higP2d8OxjqFmBJoaEU82LMR+N6M3AA9i7UATiDIzRnoeT3H9I9DVBtCOoBmME8FX7taIeuOWPsE2g5eFVcam6B37WqkwdtSuxS6ksrlXU7gZ0iAkyO+UKcQB7nNp4cO+3WvRDfbie4JpHigIgep5FceAZeF+Syv8+McrBjXJrpgMcq4V9Ds0rKQCQ7W0NDd1VXbMAcgJpQNjxv3fXgf3D3BTfCdLunyD+RUjUEkNhoquwQe3JkWLP3x3yPb/VDmp8WMQMUgMp9t45Pa/TQn13h40kUc8ZhG9O/GW6CqT7RkD0SqsQn5rmIuwy+Zy5WddGjlP7tvnYB/J977zTo3kJKkXRX+y5TQSJ/LZDksC/YRu ymtu2oMW XdatJClm1PD58zU4U7u0y2ZR3Snyr+lX3TqV6eLGeNSc9ZXN9Tl2ipp18l5WIalBKAn5gbpUTz+nOKNp0mOvduu2xLigLNtsJyP1pW/dEIcWY52gSWWvntrGLGAyoBr5WUjS+WzQIIT9xLQvCPfJbEYgRVHbSm2EYzoaRZEc0shy4CRLpjQ04EWJfWgvRMRd+ZQ5HqWndEm92nWYet5Yi3FK7Vf6xsQ25eYzHEbkLoUIA+WaL0V6FczO0kiJ9Y1CRLRPE4QknZtMUnDf/CYpBM4fxXsjN+LcNTjRI4urpgMeH2+h2oi0klKVVqTvPBeYeMyIoi/I1ge3hWYzivnd+fJtFDDr2caCT/eVCs8JGuZizZNnKSqvzDUhY0lta1oPQ2gtQqlufwx7V2/SMeJWwxhZ6rYwxR5SRvRemMNF26j6mKKMA5QbZCr2xOmDMKNgctcfKvCPH+V9aZ1ZxC3oo1pdSLB4uHHy1TOte35LwHc8H3ZifHH9trU9At4NePA4hEJD2q2bB+/zHNtsBZwOVVvXDLjd86n2QedpCCtmdn2Zt4hIqKxKXc6tYM1gmInJ4AZaZWR7NBsbtTiMP7Hl3WwBQxqWIilCQ3YI5ZCQ6tsJ8zniOIbIWnZ/mBZu3Yy0MnriR8z5Uvn2bluQQyOFXEHUEzmq3PmwFQgaRLOLVU4AAIfoVpPJAPf2ySUHmy1BNmUr1JtmQhxkDh/SPnTnZv4I55Fw3za6sEi5hE3yAPEJOSiMgS3YMjwUKugLMPb/DFKArrgaSxDF/VOoPC+cd1CUsyUpJhQNIgs/L8qwSY4lpJQ08oyJM3wIdWorEd+l9mNfl2HR6uCR2WEs= 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 Fri, Jun 07, 2024 at 10:37:09AM +0200, David Hildenbrand wrote: >Let's remove highmem special-casing from adjust_managed_page_count(), >to result in less confusion why memblock manually adjusts >totalram_pages, and __free_pages_core() only adjusts the zone's >managed pages -- what about the highmem pages that >adjust_managed_page_count() updates? > Thanks David I have looked into this function and willing to get rid of it, but not found a good way. Your change really look nice. >Now, we only maintain totalram_pages and a zone's managed pages >independent of highmem support. We can derive the number of highmem pages >simply by looking at the relevant zone's managed pages. I don't think >there is any particular fast path that needs a maximum-efficient >totalhigh_pages() implementation. > >Note that highmem memory is currently initialized using >free_highmem_page()->free_reserved_page(), not __free_pages_core(). In the >future we might want to also use __free_pages_core() to initialize >highmem memory, to make that less special, and consider moving >totalram_pages updates into __free_pages_core() [1], so we can just use >adjust_managed_page_count() in there as well. > >Booting a simple kernel in QEMU reveals no highmem accounting change: > >Before: > Memory: 3095448K/3145208K available (14802K kernel code, 2073K rwdata, > 5000K rodata, 740K init, 556K bss, 49760K reserved, 0K cma-reserved, > 2244488K highmem) > >After: > Memory: 3095276K/3145208K available (14802K kernel code, 2073K rwdata, > 5000K rodata, 740K init, 556K bss, 49932K reserved, 0K cma-reserved, > 2244488K highmem) > >[1] https://lkml.kernel.org/r/20240601133402.2675-1-richard.weiyang@gmail.com > >Cc: Andrew Morton >Cc: Wei Yang > >David Hildenbrand (2): > mm/highmem: reimplement totalhigh_pages() by walking zones > mm/highmem: make nr_free_highpages() return "unsigned long" > > include/linux/highmem-internal.h | 17 ++++++----------- > include/linux/highmem.h | 2 +- > mm/highmem.c | 20 +++++++++++++++----- > mm/page_alloc.c | 4 ---- > 4 files changed, 22 insertions(+), 21 deletions(-) > > >base-commit: 19b8422c5bd56fb5e7085995801c6543a98bda1f >-- >2.45.1 -- Wei Yang Help you, Help me