Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2548761imu; Mon, 19 Nov 2018 02:18:08 -0800 (PST) X-Google-Smtp-Source: AJdET5dvu9MfcuDg0Sx3W2qmp+EOsr6nf+P7GnNYvLsEn5docRmo1WSoDYwW02gH3XrkxoR5Mlhn X-Received: by 2002:a62:7687:: with SMTP id r129mr22126002pfc.17.1542622688767; Mon, 19 Nov 2018 02:18:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542622688; cv=none; d=google.com; s=arc-20160816; b=U0LkmgXfgvMpMBlMnv+ibEskM/wD/w4iDlw31n76+7DoJMffhTzWZ6ria7t90TxyGX GVjbKHei/BGg6LP5Lzy27oddwaW4H9I1Cx2AeuL2RK6GV0i8R8Hn24pcDIAhkkvUdLTq Bck5QOHoyU3YB8Hid2iwXynzKzyTh+XtKK7+dVJXX1vmQ+RSucBPrXiZGmrQ8SuTusk/ NchNTzVN+D5Bt5xzcw/5EIXICYAe8ZAwAjC5zV82RZG/VbqL17bEBDD7PCK1lM8Zf78n D1mNlE9tYJmFunMOqUTgLDX5T+jQIaWZLck3m2+z+8lNuoNwhq5rKrwboAlNuJiFJFUE uylQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=3I1se/jK/CTgMH6a2fAsH9htJFjy8imJvpRMBm2JhTk=; b=avYdxm/GTlM/MaGbQ6Ec49DQT0UlaAanJzz14ov2FHQCcgLRVnq9BDmc+kZXHFc9Qo o/eVptMGTCYHQhwObFZWoAUIYdb0liaCReG0+F85CHrcbFm6aAxmTPxWX+llmNGBWeso 4F2Se5q+jTLURWS3l3D+BrfplmB9mmiUwNcSWt6fvmdX5YWe7mGUw4tp9TdbaWQf58ux Ng3V0ZLA/Ltx8GWG3RCypUTVmLBQoOpTRMpm7ecn7lOkFtE3kcN0Sm4gBlDYKIwBNvO7 TdF4GMSIFOocO7+662F+ElI+EKzthEvNuExCJzgdNP0IbaCavQ0DY9ITLW2aVdnCWF/K Iz+g== 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 c1-v6si38083130pgp.376.2018.11.19.02.17.53; Mon, 19 Nov 2018 02:18:08 -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 S1727947AbeKSUkE (ORCPT + 99 others); Mon, 19 Nov 2018 15:40:04 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35568 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726287AbeKSUkE (ORCPT ); Mon, 19 Nov 2018 15:40:04 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3A486C05E773; Mon, 19 Nov 2018 10:16:53 +0000 (UTC) Received: from t460s.redhat.com (ovpn-117-77.ams2.redhat.com [10.36.117.77]) by smtp.corp.redhat.com (Postfix) with ESMTP id 44F9710640FE; Mon, 19 Nov 2018 10:16:45 +0000 (UTC) From: David Hildenbrand To: linux-mm@kvack.org Cc: 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, David Hildenbrand , Andrew Morton , Dave Young , "Kirill A. Shutemov" , Baoquan He , Omar Sandoval , Arnd Bergmann , Matthew Wilcox , Michal Hocko , "Michael S. Tsirkin" , Lianbo Jiang , Borislav Petkov , Kazuhito Hagio Subject: [PATCH v1 3/8] kexec: export PG_offline to VMCOREINFO Date: Mon, 19 Nov 2018 11:16:11 +0100 Message-Id: <20181119101616.8901-4-david@redhat.com> In-Reply-To: <20181119101616.8901-1-david@redhat.com> References: <20181119101616.8901-1-david@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 19 Nov 2018 10:16:53 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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