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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4523C433ED for ; Wed, 14 Apr 2021 15:15:09 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 50BA2613BB for ; Wed, 14 Apr 2021 15:15:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 50BA2613BB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:Subject: From:References:Cc:To:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Z7WdLV8JBRpKFLzXVm5j+bDI3Kf8Flq3RyDbHFGDKD4=; b=qqEBoynREUWGxYHlashidRJTL ilfWnIveovcT0CbDLwTi5loSyKsFknF75BJGtXFUDb3PmTi2Jyow9Q/MNhqRhJmeb+9O/qbricqOy 8KjbQDcxyWmB+e/HihW8rOjWKHoqUg5YQa6dU1qvhR+AHKzjOKg5VluzInO1vku0yoRj3jy0OawEf +oUanR0sxXkc2DFtioJTrlOwod5aZr68joodagarW8epALXV0ZyO+PBFih37xfBjH6tfiqi3s8+w1 1uvCZ6o3hQJIBR1jkHKzmAgGzNTRIAatL/T5CzP0BCe5Pr0r/o7ATdWZu2Fd6SfghlS3tM9dTX5vy DwlbP61eA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lWhBq-00Cz51-VW; Wed, 14 Apr 2021 15:12:27 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lWhBn-00Cz4c-Hr for linux-arm-kernel@desiato.infradead.org; Wed, 14 Apr 2021 15:12:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:Subject:From:References :Cc:To:Sender:Reply-To:Content-ID:Content-Description; bh=OvGZLtj/JZR18KhKppCpw2o1u6Vet6Jv6a+C3P66ArY=; b=4xVCRdRqXt3KZFw4dELxx9BMd+ WWwOpOf3YTqc/+1PuDJDNvu6O5vA5tF9XG1m3wyu8ivrLOkTsGm6IYOHJeXCbxJnLG5fPfcpMmyun vZ676F+1kC+febGW+qB1y06Z9M0rH/XMOj5e2OcpHb0wnS9VnQaA9GeWdojIxcPbX+iqFMAvq6AWq HwD2YdRn2C5a8uGaosx/fxFn2qVh/qSD/nNy4GZtbtxgmNhlWj/ZQ5h4jSchAXbhvBcNoPJkIwM5Q 7ovwE6iOSiaN3Tvgt8O3sHxyX7N01k697R1NX5SigS66tc8s6Pr8zmJpuFMGiewrCnhOScDruXxcQ uDti69zw==; Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lWhBk-007s1D-95 for linux-arm-kernel@lists.infradead.org; Wed, 14 Apr 2021 15:12:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618413138; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OvGZLtj/JZR18KhKppCpw2o1u6Vet6Jv6a+C3P66ArY=; b=NHb+SsKReYw5WnwmOVFDRhnQzEzgA/LEz6G4DJhbyFATV5mZPp/1h3ByZPwuHxWJx4aYwP jbLNHWvyIfVYKm+HZv9mLLnP+xePFYNykt1zrIr3ZAkggUDmNvdNY0+ayN3NNFFD7U4Kp8 3uTMYpMroN7Y5a+pmmkQQ5UqTtZndLM= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-187-bJxy_PUsOFywNoVstzEovQ-1; Wed, 14 Apr 2021 11:12:14 -0400 X-MC-Unique: bJxy_PUsOFywNoVstzEovQ-1 Received: by mail-wm1-f70.google.com with SMTP id g144-20020a1c20960000b029012983de0c8fso2191802wmg.7 for ; Wed, 14 Apr 2021 08:12:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:references:from:organization:subject :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=OvGZLtj/JZR18KhKppCpw2o1u6Vet6Jv6a+C3P66ArY=; b=WguKnOl6D/SAebk0OShKVXoX0EVTvxYge1eSOZ6Q0a7zAvM5ATTJlc5Kh6QptTAfN9 GHv4IH56VG6o83LkWW9bZmPvd0672eopgI5h2bTiv44GBOGWyelou0DExrxpCn+v/ixf RKce/T7bnnIJ2lR7VJZ3u05GTt68ny0kMNV32/uwE/uPztLFgnt4PYBML+cSYc/5CfbV 3D9lcjy9cNV+n2aRiomD0A6C+HNPYxJjPJlW8KHz8FMHcLh3vNRlqxbzidwIvjneskeH ko64Shs9lWxVK2hLRPDfOdpSATYDbLDOWi9qMFS6oaebZU4QSyaqE5ZA/KBxzrlkPzy0 XSxw== X-Gm-Message-State: AOAM531QfPY3My199mMsuEUa0IC/BMG+8BbhDNQjY4NEALIf+5/+t2mq gnX8yjXENmSUDvso+Y9hZS0H7QexM0lABzo2CDAxCQrzwB4UKQmYx7VZCO0TcvCc0yCRiKAU+LA YLkRXi+W5Rkn/SgsGarGybU2BgdtbDt8rrhg= X-Received: by 2002:a1c:f614:: with SMTP id w20mr3490003wmc.70.1618413132949; Wed, 14 Apr 2021 08:12:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwwpIn8nv9v5Y/Dtcv6mOc3r8te/FMqBM0g0pALidkDsp7h2aVJV3ZZM5WuTLB2ksnnlanbKw== X-Received: by 2002:a1c:f614:: with SMTP id w20mr3489987wmc.70.1618413132740; Wed, 14 Apr 2021 08:12:12 -0700 (PDT) Received: from [192.168.3.132] (p5b0c6470.dip0.t-ipconnect.de. [91.12.100.112]) by smtp.gmail.com with ESMTPSA id z14sm334347wrt.54.2021.04.14.08.12.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Apr 2021 08:12:12 -0700 (PDT) To: Mike Rapoport , linux-arm-kernel@lists.infradead.org Cc: Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , Marc Zyngier , Mark Rutland , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20210407172607.8812-1-rppt@kernel.org> <20210407172607.8812-2-rppt@kernel.org> From: David Hildenbrand Organization: Red Hat Subject: Re: [RFC/RFT PATCH 1/3] memblock: update initialization of reserved pages Message-ID: <0c48f98c-7454-1458-15a5-cc5a7e1fb7cd@redhat.com> Date: Wed, 14 Apr 2021 17:12:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210407172607.8812-2-rppt@kernel.org> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210414_081220_408821_50E3170B X-CRM114-Status: GOOD ( 31.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 07.04.21 19:26, Mike Rapoport wrote: > From: Mike Rapoport > > The struct pages representing a reserved memory region are initialized > using reserve_bootmem_range() function. This function is called for each > reserved region just before the memory is freed from memblock to the buddy > page allocator. > > The struct pages for MEMBLOCK_NOMAP regions are kept with the default > values set by the memory map initialization which makes it necessary to > have a special treatment for such pages in pfn_valid() and > pfn_valid_within(). I assume these pages are never given to the buddy, because we don't have a direct mapping. So to the kernel, it's essentially just like a memory hole with benefits. I can spot that we want to export such memory like any special memory thingy/hole in /proc/iomem -- "reserved", which makes sense. I would assume that MEMBLOCK_NOMAP is a special type of *reserved* memory. IOW, that for_each_reserved_mem_range() should already succeed on these as well -- we should mark anything that is MEMBLOCK_NOMAP implicitly as reserved. Or are there valid reasons not to do so? What can anyone do with that memory? I assume they are pretty much useless for the kernel, right? Like other reserved memory ranges. > > Split out initialization of the reserved pages to a function with a > meaningful name and treat the MEMBLOCK_NOMAP regions the same way as the > reserved regions and mark struct pages for the NOMAP regions as > PageReserved. > > Signed-off-by: Mike Rapoport > --- > mm/memblock.c | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index afaefa8fc6ab..6b7ea9d86310 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -2002,6 +2002,26 @@ static unsigned long __init __free_memory_core(phys_addr_t start, > return end_pfn - start_pfn; > } > > +static void __init memmap_init_reserved_pages(void) > +{ > + struct memblock_region *region; > + phys_addr_t start, end; > + u64 i; > + > + /* initialize struct pages for the reserved regions */ > + for_each_reserved_mem_range(i, &start, &end) > + reserve_bootmem_region(start, end); > + > + /* and also treat struct pages for the NOMAP regions as PageReserved */ > + for_each_mem_region(region) { > + if (memblock_is_nomap(region)) { > + start = region->base; > + end = start + region->size; > + reserve_bootmem_region(start, end); > + } > + } > +} > + > static unsigned long __init free_low_memory_core_early(void) > { > unsigned long count = 0; > @@ -2010,8 +2030,7 @@ static unsigned long __init free_low_memory_core_early(void) > > memblock_clear_hotplug(0, -1); > > - for_each_reserved_mem_range(i, &start, &end) > - reserve_bootmem_region(start, end); > + memmap_init_reserved_pages(); > > /* > * We need to use NUMA_NO_NODE instead of NODE_DATA(0)->node_id > -- Thanks, David / dhildenb _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel