Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1470608imu; Tue, 20 Nov 2018 19:00:14 -0800 (PST) X-Google-Smtp-Source: AFSGD/Vf33tIDMIQIRXDbFm6LytlepHc7hS6BMNgde3RkUdcQz2HD12wMW2LcepqKxCHYMA6eLUA X-Received: by 2002:a17:902:6b0c:: with SMTP id o12mr4985332plk.291.1542769214546; Tue, 20 Nov 2018 19:00:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542769214; cv=none; d=google.com; s=arc-20160816; b=NKXgumVloHRNjexQmBu4jDcjzE803NBH/Amxpy44jw1GK36dtFq6GgHuhPVboBxK52 33wyzUV5blCNBbWbiU31GHzrQqkUMOo8HBv4nO3in/zo7H6t4SxtD+Wp7H6gNosVaI35 Upaf1fy1wBcxPRI2UTqQ8pzfh+04kEjVa1dUVJP1GDQiG+zMzcs6lawzUf5zGOOK/p0m LnZkpU4brbVY6NlcR0Om1N7mwIgsvdDEvopD61zD0CqIroo2YSon7l1Xm5cdf8ug49rk kN8PznNE6SudGK3oZJSjEGZeE+Qp+NltlJ1UMKfWTKvAAc5NhIfXRSoBV+2gp8m4zDjI /IpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=ZhPLUI5Bh0nUaK4ZLwi+f4NnWDu7Zp8RQ0o/Rk3r3dU=; b=CGS/u0XDH3SeK1SmFmabCTSozP6wWVYNiTPIdHGbrQMq8MadJnFn4oAUStSARkA1lG TiN0KmJtt6aWPWHe7DLJqmQqXBBcGBiq61nB6lURub22PNB+gHLTHH58Ai9ZEpVrQTn3 hO4YvAf7G3q7jAvvpQJTLHY9s7nNSQC2mTO1SEDBwVaqUNFbIXtS4vVBESat+LLzJa0E zp4crQTtQ0fvRTeaDiSODneGJsUp3EeH/rsUUxZj956EhxYGi/aUcLrOtOJ0zNZWiwbo yk7qg50cgtAq5Zej6a2VsrRhWqM0U4TatmTSJY7lrlJafFcGjHayEzPkIe7TVNHDN04b etGw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g124si11666980pgc.568.2018.11.20.18.59.59; Tue, 20 Nov 2018 19:00:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726877AbeKUNaq (ORCPT + 99 others); Wed, 21 Nov 2018 08:30:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46228 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725999AbeKUNap (ORCPT ); Wed, 21 Nov 2018 08:30:45 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 709AB4E91A; Wed, 21 Nov 2018 02:58:20 +0000 (UTC) Received: from dhcp-128-65.nay.redhat.com (ovpn-12-49.pek2.redhat.com [10.72.12.49]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CB11E5D6A9; Wed, 21 Nov 2018 02:58:08 +0000 (UTC) Date: Wed, 21 Nov 2018 10:58:04 +0800 From: Dave Young To: David Hildenbrand Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, devel@linuxdriverproject.org, linux-fsdevel@vger.kernel.org, linux-pm@vger.kernel.org, xen-devel@lists.xenproject.org, kexec-ml , pv-drivers@vmware.com, Andrew Morton , "Kirill A. Shutemov" , Baoquan He , Omar Sandoval , Arnd Bergmann , Matthew Wilcox , Michal Hocko , "Michael S. Tsirkin" , Lianbo Jiang , Borislav Petkov , Kazuhito Hagio Subject: Re: [PATCH v1 3/8] kexec: export PG_offline to VMCOREINFO Message-ID: <20181121025804.GB32395@dhcp-128-65.nay.redhat.com> References: <20181119101616.8901-1-david@redhat.com> <20181119101616.8901-4-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181119101616.8901-4-david@redhat.com> User-Agent: Mutt/1.9.5 (2018-04-13) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 21 Nov 2018 02:58:20 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/19/18 at 11:16am, David Hildenbrand wrote: > Right now, pages inflated as part of a balloon driver will be dumped > by dump tools like makedumpfile. While XEN is able to check in the > crash kernel whether a certain pfn is actuall backed by memory in the > hypervisor (see xen_oldmem_pfn_is_ram) and optimize this case, dumps of > other balloon inflated memory will essentially result in zero pages getting > allocated by the hypervisor and the dump getting filled with this data. > > The allocation and reading of zero pages can directly be avoided if a > dumping tool could know which pages only contain stale information not to > be dumped. > > We now have PG_offline which can be (and already is by virtio-balloon) > used for marking pages as logically offline. Follow up patches will > make use of this flag also in other balloon implementations. > > Let's export PG_offline via PAGE_OFFLINE_MAPCOUNT_VALUE, so > makedumpfile can directly skip pages that are logically offline and the > content therefore stale. > > Please note that this is also helpful for a problem we were seeing under > Hyper-V: Dumping logically offline memory (pages kept fake offline while > onlining a section via online_page_callback) would under some condicions > result in a kernel panic when dumping them. > > Cc: Andrew Morton > Cc: Dave Young > Cc: "Kirill A. Shutemov" > Cc: Baoquan He > Cc: Omar Sandoval > Cc: Arnd Bergmann > Cc: Matthew Wilcox > Cc: Michal Hocko > Cc: "Michael S. Tsirkin" > Cc: Lianbo Jiang > Cc: Borislav Petkov > Cc: Kazuhito Hagio > Signed-off-by: David Hildenbrand > --- > kernel/crash_core.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/crash_core.c b/kernel/crash_core.c > index 933cb3e45b98..093c9f917ed0 100644 > --- a/kernel/crash_core.c > +++ b/kernel/crash_core.c > @@ -464,6 +464,8 @@ static int __init crash_save_vmcoreinfo_init(void) > VMCOREINFO_NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE); > #ifdef CONFIG_HUGETLB_PAGE > VMCOREINFO_NUMBER(HUGETLB_PAGE_DTOR); > +#define PAGE_OFFLINE_MAPCOUNT_VALUE (~PG_offline) > + VMCOREINFO_NUMBER(PAGE_OFFLINE_MAPCOUNT_VALUE); > #endif > > arch_crash_save_vmcoreinfo(); > -- > 2.17.2 > Acked-by: Dave Young Thanks Dave