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=-13.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham 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 CF9A7C432BE for ; Mon, 26 Jul 2021 07:15:42 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 455F160F46 for ; Mon, 26 Jul 2021 07:15:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 455F160F46 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id D1E566B0033; Mon, 26 Jul 2021 03:15:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CCF868D0002; Mon, 26 Jul 2021 03:15:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B70E38D0001; Mon, 26 Jul 2021 03:15:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 976E86B0033 for ; Mon, 26 Jul 2021 03:15:41 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 417971925F for ; Mon, 26 Jul 2021 07:15:41 +0000 (UTC) X-FDA: 78403878882.30.B73679E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by imf15.hostedemail.com (Postfix) with ESMTP id CC95ED000D4B for ; Mon, 26 Jul 2021 07:15:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1627283740; 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=Jr/kMfXd7N5bZI/UQn9TvwHA89sVmHJDTUMbSHF8LRE=; b=XmI1Y9sm7oip0o1JxE5yuOa24ymaVrzR/FGHtOSjABEYss7o/+Z4mKMGT+0Xv5n465xP3l 3YcSWIY8FJphu6aJefKZYD3AAtfK9AbsrUEwhwmUagJE/UBfgbjrlKBeVKOx+JsSxw7Fsb uX+HlrnL52jPCFygqraP4++q52zIcnE= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-49-2rW29QckPkOEErSvj-pbIw-1; Mon, 26 Jul 2021 03:15:38 -0400 X-MC-Unique: 2rW29QckPkOEErSvj-pbIw-1 Received: by mail-wm1-f72.google.com with SMTP id o26-20020a05600c511ab0290252d0248251so150919wms.1 for ; Mon, 26 Jul 2021 00:15:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=Jr/kMfXd7N5bZI/UQn9TvwHA89sVmHJDTUMbSHF8LRE=; b=OgkC0WsyJhNM/NRNtcw1Vqno4cNgJAQrbTwlOQ0uwWADgfYbN5up/PK0gNdIbTnLGn XvWvdDcV2uF4E9Zhbj61dMhpHmxTik5RbBHj4Cp3WGwJTF9Ik31t18yYHeuj5YwxJ+a5 +x46r/ge7hayDQ7iCMf+39cNek6Wgdqvic29t6miBHas4tIUhkB9tjiuc8nsuFRGHFQG 128sfVtcSDfiP+iRolU8S58XV2P8LcWYdhgyT7LGKA02o1t6YYTSwy8GNJDgC5Dsl+uz +grWPHcudlLeVyRgufsQMf2jGX/An5G2alpIQgF8w6y9jsxN3UkOqT7Vnbpdaf7lGwv8 Tz2A== X-Gm-Message-State: AOAM53188NCAIurr/EArw+lxfp9VGqYhPrma2SuzPViLwcBU2aZbNI6d sOxfbD4AHNXED2U3QMpWUUBqDALVOY/V7unPefKlpnXVcXveBVl4Jif2joRmQASBiGkNV00dEmy ecRN7Xw/q6po= X-Received: by 2002:adf:f592:: with SMTP id f18mr17191520wro.179.1627283737688; Mon, 26 Jul 2021 00:15:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwa09nmyWHVmVAQphE1ddip761fZbYJ84EB5R4AJvFqDggQmhIVrwytnke9AYAcp72nUCMKuQ== X-Received: by 2002:adf:f592:: with SMTP id f18mr17191488wro.179.1627283737550; Mon, 26 Jul 2021 00:15:37 -0700 (PDT) Received: from [192.168.3.132] (p4ff23b33.dip0.t-ipconnect.de. [79.242.59.51]) by smtp.gmail.com with ESMTPSA id l18sm12476411wme.29.2021.07.26.00.15.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 Jul 2021 00:15:37 -0700 (PDT) Subject: Re: [PATCH v2 2/9] mm/memory_hotplug: introduce "auto-movable" online policy To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, Andrew Morton , Vitaly Kuznetsov , "Michael S. Tsirkin" , Jason Wang , Marek Kedzierski , Hui Zhu , Pankaj Gupta , Wei Yang , Oscar Salvador , Michal Hocko , Dan Williams , Anshuman Khandual , Dave Hansen , Vlastimil Babka , Mike Rapoport , "Rafael J. Wysocki" , Len Brown , Pavel Tatashin , Greg Kroah-Hartman , virtualization@lists.linux-foundation.org, linux-acpi@vger.kernel.org References: <20210723125210.29987-1-david@redhat.com> <20210723125210.29987-3-david@redhat.com> From: David Hildenbrand Organization: Red Hat Message-ID: Date: Mon, 26 Jul 2021 09:15:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210723125210.29987-3-david@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=XmI1Y9sm; spf=none (imf15.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 216.205.24.124) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: CC95ED000D4B X-Stat-Signature: a4p3sebmm617uoffboaq87c5o975ympm X-HE-Tag: 1627283740-640269 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: > > +struct auto_movable_stats { > + unsigned long kernel_early_pages; > + unsigned long movable_pages; > +}; > + > +static void auto_movable_stats_account_zone(struct auto_movable_stats *stats, > + struct zone *zone) > +{ > + if (zone_idx(zone) == ZONE_MOVABLE) { > + stats->movable_pages += zone->present_pages; > + } else { > + /* > + * CMA pages (never on hotplugged memory) behave like > + * ZONE_MOVABLE. > + */ > + stats->movable_pages += zone->cma_pages; > + stats->kernel_early_pages += zone->present_early_pages; > + stats->kernel_early_pages -= zone->cma_pages; > + } > +} The following on top to make it compile without CONFIG_CMA (thanks Randy): diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index bfdaa28eb86f..fa1a0afd32ba 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -741,13 +741,15 @@ static void auto_movable_stats_account_zone(struct auto_movable_stats *stats, if (zone_idx(zone) == ZONE_MOVABLE) { stats->movable_pages += zone->present_pages; } else { + stats->kernel_early_pages += zone->present_early_pages; +#ifdef CONFIG_CMA /* * CMA pages (never on hotplugged memory) behave like * ZONE_MOVABLE. */ stats->movable_pages += zone->cma_pages; - stats->kernel_early_pages += zone->present_early_pages; stats->kernel_early_pages -= zone->cma_pages; +#endif /* CONFIG_CMA */ } } struct auto_movable_group_stats { -- Thanks, David / dhildenb