* [Qemu-devel] qemu spinning on serial port writes
@ 2008-12-22 14:21 David S. Ahern
2009-01-16 1:25 ` [Qemu-devel] RESEND: " David S. Ahern
0 siblings, 1 reply; 2+ messages in thread
From: David S. Ahern @ 2008-12-22 14:21 UTC (permalink / raw)
To: qemu-devel; +Cc: kvm-devel
I am trying to redirect a guest's boot output through the host's serial
port. Shortly after launching qemu, the main thread is spinning on:
write(9, "0", 1) = -1 EAGAIN (Resource temporarily unavailable)
fd 9 is the serial port, ttyS0.
The backtrace for the thread is:
#0 0x00002ac3433f8c0b in write () from /lib64/libpthread.so.0
#1 0x0000000000475df9 in send_all (fd=9, buf=<value optimized out>,
len1=1) at qemu-char.c:477
#2 0x000000000043a102 in serial_xmit (opaque=<value optimized out>) at
/root/kvm-81/qemu/hw/serial.c:311
#3 0x000000000043a591 in serial_ioport_write (opaque=0x14971790,
addr=<value optimized out>, val=48)
at /root/kvm-81/qemu/hw/serial.c:366
#4 0x00000000410eeedc in ?? ()
#5 0x0000000000129000 in ?? ()
#6 0x0000000014821fa0 in ?? ()
#7 0x0000000000000007 in ?? ()
#8 0x00000000004a54c5 in tlb_set_page_exec (env=0x10ab4,
vaddr=46912496956816, paddr=1, prot=-1, mmu_idx=0, is_softmmu=1)
at /root/kvm-81/qemu/exec.c:388
#9 0x0000000000512f3b in tlb_fill (addr=345446292, is_write=1,
mmu_idx=-1, retaddr=0x0)
at /root/kvm-81/qemu/target-i386/op_helper.c:4690
#10 0x00000000004a6bd2 in __ldb_cmmu (addr=9, mmu_idx=0) at
/root/kvm-81/qemu/softmmu_template.h:135
#11 0x00000000004a879b in cpu_x86_exec (env1=<value optimized out>) at
/root/kvm-81/qemu/cpu-exec.c:628
#12 0x000000000040ba29 in main (argc=12, argv=0x7fff67f7a398) at
/root/kvm-81/qemu/vl.c:3816
send_all() invokes unix_write() which by design is not breaking out on
EAGAIN.
The following command is enough to show the problem:
qemu-system-x86_64 -m 256 -smp 1 -no-kvm \
-drivefile=/dev/cciss/c0d0,if=scsi,cache=off,boot=on \
-vnc :1 -serial /dev/ttyS0
The guest is running RHEL3 with the parameter 'console=ttyS0' added to
grub.conf; the problem appears to be with qemu, so I would expect it to
show with any linux guest. This particular host is running RHEL5.2 with
kvm-81, but I have also seen the problem with Fedora-9 as the host OS.
Yes, the serial port of the server is connected to another system via a
null modem. If I change the serial argument to '-serial udp::4555' and
use 'nc -u -l localhost 4555 > /dev/ttyS0' I see the guest's boot
output show up on the second system as expected. I'd prefer to be able
to use the serial port connection directly without nc as a proxy.
Suggestions?
david
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Qemu-devel] RESEND: qemu spinning on serial port writes
2008-12-22 14:21 [Qemu-devel] qemu spinning on serial port writes David S. Ahern
@ 2009-01-16 1:25 ` David S. Ahern
0 siblings, 0 replies; 2+ messages in thread
From: David S. Ahern @ 2009-01-16 1:25 UTC (permalink / raw)
To: qemu-devel
I sent this right before the holidays, and I have not seen any response.
Has anyone had success connecting guest serial port to host serial port
directly with guest boot output streaming out?
david
David S. Ahern wrote:
> I am trying to redirect a guest's boot output through the host's serial
> port. Shortly after launching qemu, the main thread is spinning on:
>
> write(9, "0", 1) = -1 EAGAIN (Resource temporarily unavailable)
>
> fd 9 is the serial port, ttyS0.
>
>
> The backtrace for the thread is:
>
> #0 0x00002ac3433f8c0b in write () from /lib64/libpthread.so.0
> #1 0x0000000000475df9 in send_all (fd=9, buf=<value optimized out>,
> len1=1) at qemu-char.c:477
> #2 0x000000000043a102 in serial_xmit (opaque=<value optimized out>) at
> /root/kvm-81/qemu/hw/serial.c:311
> #3 0x000000000043a591 in serial_ioport_write (opaque=0x14971790,
> addr=<value optimized out>, val=48)
> at /root/kvm-81/qemu/hw/serial.c:366
> #4 0x00000000410eeedc in ?? ()
> #5 0x0000000000129000 in ?? ()
> #6 0x0000000014821fa0 in ?? ()
> #7 0x0000000000000007 in ?? ()
> #8 0x00000000004a54c5 in tlb_set_page_exec (env=0x10ab4,
> vaddr=46912496956816, paddr=1, prot=-1, mmu_idx=0, is_softmmu=1)
> at /root/kvm-81/qemu/exec.c:388
> #9 0x0000000000512f3b in tlb_fill (addr=345446292, is_write=1,
> mmu_idx=-1, retaddr=0x0)
> at /root/kvm-81/qemu/target-i386/op_helper.c:4690
> #10 0x00000000004a6bd2 in __ldb_cmmu (addr=9, mmu_idx=0) at
> /root/kvm-81/qemu/softmmu_template.h:135
> #11 0x00000000004a879b in cpu_x86_exec (env1=<value optimized out>) at
> /root/kvm-81/qemu/cpu-exec.c:628
> #12 0x000000000040ba29 in main (argc=12, argv=0x7fff67f7a398) at
> /root/kvm-81/qemu/vl.c:3816
>
> send_all() invokes unix_write() which by design is not breaking out on
> EAGAIN.
>
> The following command is enough to show the problem:
>
> qemu-system-x86_64 -m 256 -smp 1 -no-kvm \
> -drivefile=/dev/cciss/c0d0,if=scsi,cache=off,boot=on \
> -vnc :1 -serial /dev/ttyS0
>
>
> The guest is running RHEL3 with the parameter 'console=ttyS0' added to
> grub.conf; the problem appears to be with qemu, so I would expect it to
> show with any linux guest. This particular host is running RHEL5.2 with
> kvm-81, but I have also seen the problem with Fedora-9 as the host OS.
>
> Yes, the serial port of the server is connected to another system via a
> null modem. If I change the serial argument to '-serial udp::4555' and
> use 'nc -u -l localhost 4555 > /dev/ttyS0' I see the guest's boot
> output show up on the second system as expected. I'd prefer to be able
> to use the serial port connection directly without nc as a proxy.
> Suggestions?
>
> david
> --
> 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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-01-16 1:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-22 14:21 [Qemu-devel] qemu spinning on serial port writes David S. Ahern
2009-01-16 1:25 ` [Qemu-devel] RESEND: " David S. Ahern
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).