diff mbox

kvm tools: Enable earlyprintk=serial by default

Message ID 20110508073934.GA28049@elte.hu (mailing list archive)
State New, archived
Headers show

Commit Message

Ingo Molnar May 8, 2011, 7:39 a.m. UTC
Enable the earlyprintk console to the serial port, to allow the debugging of 
very early hangs/crashes.

Since we already enable the serial console by default, this is a natural 
extension of it.

I have tested that it indeed works, by provoking an early hang that triggers 
after the early console is enabled by before the real console is registered. In 
that case before the patch we get:

  $ ./kvm run --cpus 2
  [ silent hang ]

With this patch applied i got the early output:

 $ ./kvm run --cpus 60
 [    0.000000] console [earlyser0] enabled
 [    0.000000] Initializing cgroup subsys cpu
 [    0.000000] Linux version 2.6.39-rc6-tip-02944-g87b0bcf-dirty (mingo@aldebaran) (gcc version 4.6.0 20110419 (Red Hat 4.6.0-5) (GCC) ) #84 SMP Mon May 9 02:34:26 CEST 2011
 [    0.000000] Command line: notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serialroot=/dev/vda1 rw 
 [    0.000000] locking up the box!

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 tools/kvm/kvm-run.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Rodrigo Campos May 8, 2011, 1:25 p.m. UTC | #1
On Sun, May 08, 2011 at 09:39:34AM +0200, Ingo Molnar wrote:
> 
> diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c
> index 764a242..eb50b6a 100644
> --- a/tools/kvm/kvm-run.c
> +++ b/tools/kvm/kvm-run.c
> @@ -409,7 +409,7 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix)
>  	kvm->nrcpus = nrcpus;
>  
>  	memset(real_cmdline, 0, sizeof(real_cmdline));
> -	strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 ");
> +	strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serial");

I think the space at the end of the string that you delete, squashes the early
printk option with the next one (root= in your case), like in the output you show:

>  [    0.000000] Command line: notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serialroot=/dev/vda1 rw 
I mean here                                                                                   ^





Thanks,
Rodrigo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c
index 764a242..eb50b6a 100644
--- a/tools/kvm/kvm-run.c
+++ b/tools/kvm/kvm-run.c
@@ -409,7 +409,7 @@  int kvm_cmd_run(int argc, const char **argv, const char *prefix)
 	kvm->nrcpus = nrcpus;
 
 	memset(real_cmdline, 0, sizeof(real_cmdline));
-	strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 ");
+	strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serial");
 	if (kernel_cmdline)
 		strlcat(real_cmdline, kernel_cmdline, sizeof(real_cmdline));