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=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT 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 C8F7BC43381 for ; Mon, 11 Mar 2019 09:04:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A17D82075C for ; Mon, 11 Mar 2019 09:04:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727069AbfCKJEU (ORCPT ); Mon, 11 Mar 2019 05:04:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40444 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725839AbfCKJEU (ORCPT ); Mon, 11 Mar 2019 05:04:20 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C5602E6A81; Mon, 11 Mar 2019 09:04:19 +0000 (UTC) Received: from dhcp-128-65.nay.redhat.com (ovpn-12-113.pek2.redhat.com [10.72.12.113]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0E5845DA62; Mon, 11 Mar 2019 09:04:06 +0000 (UTC) Date: Mon, 11 Mar 2019 17:04:02 +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 v2 3/8] kexec: export PG_offline to VMCOREINFO Message-ID: <20190311090402.GA12071@dhcp-128-65.nay.redhat.com> References: <20181122100627.5189-1-david@redhat.com> <20181122100627.5189-4-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181122100627.5189-4-david@redhat.com> User-Agent: Mutt/1.9.5 (2018-04-13) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 11 Mar 2019 09:04:20 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi David, On 11/22/18 at 11:06am, 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. (we export is as a macro to match how it is > done for PG_buddy. This way it is clearer that this is not actually a flag > but only a very specific mapcount value to represent page types). > > 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 > Acked-by: Michael S. Tsirkin > Acked-by: Dave Young > 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(); The patch has been merged, would you mind to send a documentation patch for the vmcoreinfo, which is added recently in Documentation/kdump/vmcoreinfo.txt A brief description about how this vmcoreinfo field is used is good to have. Thanks Dave