xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Petr Tesarik <ptesarik-AlSwsSmVLrQ@public.gmane.org>
To: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR@public.gmane.org,
	Daniel Kiper
	<daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org,
	olaf-QOLJcTWqO2uzQB+pC5nmwQ@public.gmane.org,
	konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH] kexec-tools: Read always one vmcoreinfo file
Date: Mon, 23 Jul 2012 14:56:07 +0200	[thread overview]
Message-ID: <201207231456.07783.ptesarik@suse.cz> (raw)
In-Reply-To: <20120705121635.GA2007-UojuW/CpjwpdUOLzJiIvSsFoITBeLw/klGfBN0aaEZ+lPcVs/6D9LQ@public.gmane.org>

Dne Čt 5. července 2012 14:16:35 Daniel Kiper napsal(a):
> vmcoreinfo file could exists under /sys/kernel (valid on baremetal only)
> and/or under /sys/hypervisor (valid when Xen dom0 is running).
> Read only one of them. It means that only one PT_NOTE will be
> always created. Remove extra code for second PT_NOTE creation.

Hi Daniel,

are you absolutely sure this is the right thing to do? IIUC these two 
VMCORINFO notes are very different. The one from /sys/kernel/vmcoreinfo 
describes the Dom0 kernel (type 'VMCOREINFO'), while the one from 
/sys/hypervisor describes the Xen hypervisor (type 'XEN_VMCOREINFO'). If you 
keep only the hypervisor note, then e.g. makedumpfile won't be able to use 
dumplevel greater than 1, nor will it be able to extract the log buffer.

Petr Tesarik
SUSE Linux

> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> ---
>  kexec/crashdump-elf.c |   33 +++++++--------------------------
>  1 files changed, 7 insertions(+), 26 deletions(-)
> 
> diff --git a/kexec/crashdump-elf.c b/kexec/crashdump-elf.c
> index 8d82db9..ec66548 100644
> --- a/kexec/crashdump-elf.c
> +++ b/kexec/crashdump-elf.c
> @@ -40,8 +40,6 @@ int FUNC(struct kexec_info *info,
>  	uint64_t notes_addr, notes_len;
>  	uint64_t vmcoreinfo_addr, vmcoreinfo_len;
>  	int has_vmcoreinfo = 0;
> -	uint64_t vmcoreinfo_addr_xen, vmcoreinfo_len_xen;
> -	int has_vmcoreinfo_xen = 0;
>  	int (*get_note_info)(int cpu, uint64_t *addr, uint64_t *len);
> 
>  	if (xen_present())
> @@ -53,16 +51,14 @@ int FUNC(struct kexec_info *info,
>  		return -1;
>  	}
> 
> -	if (get_kernel_vmcoreinfo(&vmcoreinfo_addr, &vmcoreinfo_len) == 0) {
> -		has_vmcoreinfo = 1;
> -	}
> -
> -	if (xen_present() &&
> -	    get_xen_vmcoreinfo(&vmcoreinfo_addr_xen, &vmcoreinfo_len_xen) == 0) {
> -		has_vmcoreinfo_xen = 1;
> -	}
> +	if (xen_present()) {
> +		if (!get_xen_vmcoreinfo(&vmcoreinfo_addr, &vmcoreinfo_len))
> +			has_vmcoreinfo = 1;
> +	} else
> +		if (!get_kernel_vmcoreinfo(&vmcoreinfo_addr, &vmcoreinfo_len))
> +			has_vmcoreinfo = 1;
> 
> -	sz = sizeof(EHDR) + (nr_cpus + has_vmcoreinfo + has_vmcoreinfo_xen) *
> sizeof(PHDR) + +	sz = sizeof(EHDR) + (nr_cpus + has_vmcoreinfo) *
> sizeof(PHDR) +
>  	     ranges * sizeof(PHDR);
> 
>  	/*
> @@ -179,21 +175,6 @@ int FUNC(struct kexec_info *info,
>  		dbgprintf_phdr("vmcoreinfo header", phdr);
>  	}
> 
> -	if (has_vmcoreinfo_xen) {
> -		phdr = (PHDR *) bufp;
> -		bufp += sizeof(PHDR);
> -		phdr->p_type	= PT_NOTE;
> -		phdr->p_flags	= 0;
> -		phdr->p_offset  = phdr->p_paddr = vmcoreinfo_addr_xen;
> -		phdr->p_vaddr   = 0;
> -		phdr->p_filesz	= phdr->p_memsz	= vmcoreinfo_len_xen;
> -		/* Do we need any alignment of segments? */
> -		phdr->p_align	= 0;
> -
> -		(elf->e_phnum)++;
> -		dbgprintf_phdr("vmcoreinfo_xen header", phdr);
> -	}
> -
>  	/* Setup an PT_LOAD type program header for the region where
>  	 * Kernel is mapped if elf_info->kern_size is non-zero.
>  	 */

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  parent reply	other threads:[~2012-07-23 12:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 12:16 [PATCH] kexec-tools: Read always one vmcoreinfo file Daniel Kiper
     [not found] ` <20120705121635.GA2007-UojuW/CpjwpdUOLzJiIvSsFoITBeLw/klGfBN0aaEZ+lPcVs/6D9LQ@public.gmane.org>
2012-07-06 13:49   ` Simon Horman
2012-07-23 12:56   ` Petr Tesarik [this message]
2012-07-23 13:30     ` Petr Tesarik
     [not found]       ` <201207231530.55871.ptesarik-AlSwsSmVLrQ@public.gmane.org>
2012-07-23 20:10         ` Daniel Kiper
2012-07-24  8:18           ` Petr Tesarik
     [not found]             ` <201207241018.35292.ptesarik-AlSwsSmVLrQ@public.gmane.org>
2012-07-24 13:54               ` Daniel Kiper
     [not found]                 ` <20120724135410.GA2230-UojuW/CpjwpdUOLzJiIvSsFoITBeLw/klGfBN0aaEZ+lPcVs/6D9LQ@public.gmane.org>
2012-08-02  3:06                   ` Simon Horman
2014-11-13 15:51                   ` Petr Tesarik
     [not found]                     ` <20141113165148.4343b45e-7L324ngwNA8VI8jrpt9EEQ@public.gmane.org>
2014-11-13 17:22                       ` Daniel Kiper
     [not found]                         ` <20141113172217.GD6522-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2014-11-13 18:14                           ` Petr Tesarik
2014-12-19 20:21                       ` Daniel Kiper
  -- strict thread matches above, loose matches on Subject: below --
2012-08-02 13:18 Daniel Kiper
2012-08-02 13:27 Daniel Kiper
2012-08-06  8:27 ` Simon Horman
2012-08-06  9:32 Daniel Kiper
2012-09-10 12:06 Daniel Kiper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201207231456.07783.ptesarik@suse.cz \
    --to=ptesarik-alswssmvlrq@public.gmane.org \
    --cc=daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org \
    --cc=kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=olaf-QOLJcTWqO2uzQB+pC5nmwQ@public.gmane.org \
    --cc=xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).