Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp908704imc; Mon, 11 Mar 2019 02:05:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqyUx2tx7yeK0dEwDRgZXsHHOD23fGYaIF1gmSqFz/GmfXE8WxZTzlaWdWcRzRzCWyc5R/5g X-Received: by 2002:a62:4743:: with SMTP id u64mr31438418pfa.95.1552295120065; Mon, 11 Mar 2019 02:05:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552295120; cv=none; d=google.com; s=arc-20160816; b=FkkRMY+efWiK0zLjnHDiAx+BPFinXbzWHV+Y7N5AFNvfqIDvpBRemW0ki5mr2yIXYL FVU6lX++MFQ+7H2zfgNR+cOUii0GsvyCaYDcd5IhhTJ0IQsQ4kEDo/wsz0/NAM/bIPHV zPpyGZsNPdffPUU0VIEv1cvgdUMXAEJTdpSKTbybjp6bM695Ex1UCeYBdS9ddU6kZvRe LPHjKfmM2NJw0adO9wHvdh6fgmIQka0FX5kt4Eh3OeqcDdZkRjoTKdS2qvuj9XOR7N0w lCIJD4blrCiO8FMsa+Tma1dmnwKByKL5iRNw1vCRmlwg8NJwdS0vrl15eudJ2/A/X+gw V+0A== 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=EZGrVHTNl3bipmE1CeosgRQxxqQbbdPXAWWbkLc656k=; b=C6qizOos2PsteORzI41N6B2eMYIDUfmWq1Api1OtXDolae1IzFT6evyylYoJsYbO14 6g2BlbCS1ZP5iMFukrMm0yLJe5c0S3nmjE/r1n0cDpTvop3CBv5/nTY/wHW/8kOxPIyF 00smTslMb8LEIa6APfV3eO+S3jO9Taek9e1q3av6xzu2nQSK9Vuubpaz+kvQcdb6YWAP 9hD/HRXO/nrS55ULSNhogHjh0K/yjp3eeSRhdLsAuaUdLNqOLc4tWJgM+/vksm3B2//u YU0uNwjRY1pjvrl9KD39FPPK5bUIZ260eGTEml2H/4rPCGY/ZC+N64C/YDY+8MlTrH1Q iEvQ== 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 3si5158472plz.116.2019.03.11.02.05.03; Mon, 11 Mar 2019 02:05:20 -0700 (PDT) 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 S1727056AbfCKJEU (ORCPT + 99 others); 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