[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/2] changes related to monitor flow control

From: Laszlo Ersek
Subject: [Qemu-devel] [PATCH 0/2] changes related to monitor flow control
Date: Tue, 16 Jul 2013 20:19:39 +0200

When the IO thread calls monitor_flush() repeatedly & quickly in
succession, outside of callback context, many redundant G_IO_OUT watches
are installed. (One such caller is the "info tlb" / tlb_info() HMP
command which produces a lot of monitor output.)

While this redundancy is no problem in itself, it can trigger -1/EINVAL
in poll() by growing "gpollfds" beyond limits. This is a persistent
condition, causing qemu to spin in the main loop.

Patch #2 corrects this.

My first stab at a fix was patch #1. Although in retrospect probably
unrelated to the main problem, I'm including it because it should
qualify as an improvement / cleanup in its own right.

See <https://bugzilla.redhat.com/show_bug.cgi?id=970047> for more

Laszlo Ersek (2):
  char: io_channel_send: don't lose written bytes
  monitor: maintain at most one G_IO_OUT watch

 monitor.c   |   11 +++++++++--
 qemu-char.c |   41 +++++++++++++++++++----------------------
 2 files changed, 28 insertions(+), 24 deletions(-)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]