Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754282AbbKXNml (ORCPT ); Tue, 24 Nov 2015 08:42:41 -0500 Received: from smtp.citrix.com ([66.165.176.89]:50658 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751946AbbKXNmk (ORCPT ); Tue, 24 Nov 2015 08:42:40 -0500 X-IronPort-AV: E=Sophos;i="5.20,338,1444694400"; d="scan'208";a="314395840" Message-ID: <5654694D.1060909@citrix.com> Date: Tue, 24 Nov 2015 13:42:37 +0000 From: Andrew Cooper User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 MIME-Version: 1.0 To: Jan Beulich , Petr Tesarik CC: Juergen Gross , , , DanielKiper , , , , David Vrabel , David Mair , , , "Malcolm Crossley" , Subject: Re: [Xen-devel] crash tool - problem with new Xen linear virtual mapped sparse p2m list References: <20151123201830.GN4768@olila.local.net-space.pl> <565409DA.90908@suse.com> <565434F102000078000B8424@prv-mh.provo.novell.com> <56543412.7090104@citrix.com> <5654373D.9070403@citrix.com> <20151124111725.4f45412e@hananiah.suse.cz> <56543D57.2030903@citrix.com> <20151124135701.1d75c901@hananiah.suse.cz> <5654769502000078000B86AA@prv-mh.provo.novell.com> <565468ED.8060206@citrix.com> In-Reply-To: <565468ED.8060206@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-DLP: MIA2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2703 Lines: 55 On 24/11/15 13:41, Andrew Cooper wrote: > On 24/11/15 13:39, Jan Beulich wrote: >>>>> On 24.11.15 at 13:57, wrote: >>> V Tue, 24 Nov 2015 10:35:03 +0000 >>> Andrew Cooper napsáno: >>> >>>> On 24/11/15 10:17, Petr Tesarik wrote: >>>>> On Tue, 24 Nov 2015 10:09:01 +0000 >>>>> David Vrabel wrote: >>>>> >>>>>> On 24/11/15 09:55, Malcolm Crossley wrote: >>>>>>> On 24/11/15 08:59, Jan Beulich wrote: >>>>>>>>>>> On 24.11.15 at 07:55, wrote: >>>>>>>>> What about: >>>>>>>>> >>>>>>>>> 4) Instead of relying on the kernel maintained p2m list for m2p >>>>>>>>> conversion use the hypervisor maintained m2p list which should be >>>>>>>>> available in the dump as well. This is the way the alive kernel is >>>>>>>>> working, so mimic it during crash dump analysis. >>>>>>>> I fully agree; I have to admit that looking at the p2m when doing page >>>>>>>> table walks for a PV Dom0 (having all machine addresses in page table >>>>>>>> entries) seems kind of backwards. (But I say this knowing nothing >>>>>>>> about the tool.) >>>>>>>> >>>>>>> I don't think we can reliably use the m2p for PV domains because >>>>>>> PV domains don't always issue a m2p update hypercall when they change >>>>>>> their p2m mapping. >>>>>> This only applies to foreign pages which won't be very interesting to a >>>>>> crash tool. >>>>> True. I think the main reason crash hasn't done this is that it cannot >>>>> find the hypervisor maintained m2p list. It should be sufficient to add >>>>> some more fields to XEN_VMCOREINFO, so that crash can locate the >>>>> mapping in the dump. >>>> The M2P lives at an ABI-specified location in all virtual address spaces >>>> for PV guests. >>>> >>>> Either 0xF5800000 or 0xFFFF800000000000 depending on bitness. >>> Hm, this is nice, but kind of chicken-and-egg problem. A system dump >>> contains a snapshot of the machine's RAM. But the addresses you >>> mentioned are virtual addresses. How do I translate them to physical >>> addresses without an m2p mapping? I need at least the value of CR3 for >>> that domain, and most likely a way to determine if it is a PV domain. >> This ought to also be present in Xen's master page table >> (idle_pg_table[]), and I suppose we can take for granted a symbol >> table being available. > The idle_pg_table is already present in the VMCORE notes. Ah, except it is aliased to the name pgd_l4. ~Andrew -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/