hw/char/serial: Only retry if qemu_chr_fe_write returns 0
authorSergio Lopez <slp@redhat.com>
Tue, 5 Jun 2018 07:54:55 +0000 (03:54 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 28 Jun 2018 17:05:30 +0000 (19:05 +0200)
commit019288bf137183bf3407c9824655b753bfafc99f
tree5cc4ca3ee674f30501da25354528b8f158f3111b
parentd29a8a1b0758a905b148929dd14b79bfeb297a80
hw/char/serial: Only retry if qemu_chr_fe_write returns 0

Only retry on serial_xmit if qemu_chr_fe_write returns 0, as this is the
only recoverable error.

Retrying with any other scenario, in addition to being a waste of CPU
cycles, can compromise the Guest stability if by the vCPU issuing the
write and the main loop thread are, by chance or explicit pinning,
running on the same pCPU.

Previous discussion:

https://lists.nongnu.org/archive/html/qemu-devel/2018-05/msg06998.html

Signed-off-by: Sergio Lopez <slp@redhat.com>
Message-Id: <1528185295-14199-1-git-send-email-slp@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/char/serial.c