Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1447583imu; Tue, 20 Nov 2018 18:27:45 -0800 (PST) X-Google-Smtp-Source: AJdET5ef8XFOkWE2DaE+wYQhVp8EYWVDsGQ96FXLj2lc8khNRWu2q4DcBtjHTrrji2vZrvlVkHd5 X-Received: by 2002:a63:5357:: with SMTP id t23-v6mr4371501pgl.40.1542767265353; Tue, 20 Nov 2018 18:27:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542767265; cv=none; d=google.com; s=arc-20160816; b=Coe0XY8Zm4BsPGsmg7LI9iBg2oysPp/Kc6PToMAAVOTXk0G6Ipb3a/z47+n+iuR3/G z31SFt3ve9GgfPPcnG/pwpMRyv//C68rU1tlbvxpeoLIVZLOf6LYKmV2LKw7JCnmUPcq 4CR1cDqDZv5MrhioBcJ5Pvc1EmlpnBVh3gzgqRUmVlHpgHfoP39aM3tl9FeIJVuVr/Lk 8vlqZjv5bR2WvDTxsfP3DHV+sjtxF9xiWRhQx1ySrxG1wtSZ6Q6DHabryRLyhKog2oNW aa19TPch0PWEooLZaGPNyTd1X9sIWhbKkc5pnDPboPgVMRBcwy9xVKD288KuTlfy3k6e szLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=7gFqW2ygS5jBp511GHw0BNUgzmh3gW+9F70JuSfFgsc=; b=dqVhOlKoZV6GiGKgGn/mPI7m/bI6llWvxep0K684wDA+KwJUApYrhuolBHWfQvE0Zl iL7M4XM1Hzm/KHgZOBdXXL7DmBum3+QFgB0vkD4xSMlRSNuLpPSvBj1AJ4sdWjY2dJ19 hfNGZjuBwYpi/iPVyAN2yFLAbfn5KfYM4tuCdFswtESqkQ76KAczl1VBGhfpAPZ5tSF6 UjnAfmh/Bv5Qt9edBlZVTT/vajC5gO6EEIdKxGaX6K/wrmmfdZVAXv+6tNYVGsOTBkgK afHC3vS2YKqHs2FH53o4JCD4n5ObLxOMYKjPlZ/xxgl4Z/Tlb9hIO3ckZevEoLImMvuk O0aw== 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 r18si42211042pgb.491.2018.11.20.18.27.30; Tue, 20 Nov 2018 18:27:45 -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 S1726778AbeKUMcL (ORCPT + 99 others); Wed, 21 Nov 2018 07:32:11 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55610 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725913AbeKUMcK (ORCPT ); Wed, 21 Nov 2018 07:32:10 -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 B931FC059B6F; Wed, 21 Nov 2018 01:59:55 +0000 (UTC) Received: from redhat.com (ovpn-120-136.rdu2.redhat.com [10.10.120.136]) by smtp.corp.redhat.com (Postfix) with SMTP id BB6825D75D; Wed, 21 Nov 2018 01:59:44 +0000 (UTC) Date: Tue, 20 Nov 2018 20:59:43 -0500 From: "Michael S. Tsirkin" 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 , Dave Young , "Kirill A. Shutemov" , Baoquan He , Omar Sandoval , Arnd Bergmann , Matthew Wilcox , Michal Hocko , Lianbo Jiang , Borislav Petkov , Kazuhito Hagio Subject: Re: [PATCH v1 3/8] kexec: export PG_offline to VMCOREINFO Message-ID: <20181120205822-mutt-send-email-mst@kernel.org> 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> 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.32]); Wed, 21 Nov 2018 01:59:56 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 19, 2018 at 11:16:11AM +0100, 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 Acked-by: Michael S. Tsirkin > --- > 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