Re: [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication

From: Christian Borntraeger
Date: Tue Sep 29 2009 - 07:02:58 EST


Am Dienstag 29 September 2009 12:33:54 schrieben Sie:
> I've tested old qemu new kernel, new qemu old kernel, new qemu, new
> kernel and all the cases work fine.

The patch breaks at least s390 causing the following oops.

<0>------------[ cut here ]------------
<2>Kernel BUG at 000000000087d902 [verbose debug info unavailable]
<4>illegal operation: 0001 [#1] SMP
<4>Modules linked in:
<4>CPU: 0 Not tainted 2.6.31-selfgit-08936-g851b147-dirty #137
<4>Process swapper (pid: 1, task: 000000000c6de758, ksp: 000000000c6e3838)
<4>Krnl PSW : 0404200180000000 000000000087d902 (early_put_chars+0x6/0x98)
<4> R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
<4>Krnl GPRS: 0000000000000007 000000000087d8fc 0000000000000000 000000000c6e3c68
<4> 0000000000000010 0000000000834408 0000000000000000 0000000000000000
<4> 000000000c6e3c68 0000000000000000 0000000000000010 000000000000001a
<4> 0000000000000010 0000000000558848 00000000003b6b32 000000000c6e3bc0
<4>Krnl Code:>000000000087d902: cccccccccccc unknown
<4> 000000000087d908: cccccccccccc unknown
<4> 000000000087d90e: cccccccccccc unknown
<4> 000000000087d914: cccccccccccc unknown
<4> 000000000087d91a: cccccccccccc unknown
<4>Call Trace:
<4>([<000000000c6e3cc8>] 0xc6e3cc8)
<4> [<000000000013f7cc>] __call_console_drivers+0xcc/0xe8
<4> [<000000000013fdfa>] release_console_sem+0x1e2/0x29c
<4> [<0000000000140606>] vprintk+0x316/0x498
<4> [<000000000051a846>] printk+0x52/0x64
<4> [<0000000000100240>] init_post+0x28/0x1a4
<4> [<000000000085a48e>] kernel_init+0x2d2/0x3b4
<4> [<000000000010a212>] kernel_thread_starter+0x6/0xc
<4> [<000000000010a20c>] kernel_thread_starter+0x0/0xc
<4>Last Breaking-Event-Address:
<4> [<00000000003b6b30>] hvc_console_print+0x8c/0x12c
<4>
<4>---[ end trace 1e5e8c448b0f2e2b ]---


I took a dump and had a look. It looks that this message thing is indeed not
the problem. Our early_put_chars method was marked as __init and the old code
replaced the put_chars method quickly enough to never make a problem.
Removing the __init from early_put_chars solved this kernel bug, but the tty
performance is now horribly slow. I will test, if the put_chars method is
replaced at all.

Christian


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/