|
From: | Anthony Liguori |
Subject: | [Qemu-devel] Re: [PATCH v2 0/5] iohandlers: Add support for enabling/disabling individual handlers |
Date: | Tue, 18 Jan 2011 08:19:34 -0600 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Lightning/1.0b1 Thunderbird/3.0.10 |
On 01/18/2011 05:56 AM, Amit Shah wrote:
On (Mon) Jan 17 2011 [08:57:16], Anthony Liguori wrote:Also -- this patchset was prompted by a bug in qemu chardevs that freezes guests if they write faster than the chardevs can consume. What should the strategy on fixing that bug be?Fix the loop API such that we're not just fixing one bug but that we can address a bunch of other bugs that are out there.But what's the right fix? * Pull in glib or some other library * Mimic API from some other library
1) get rid of poll callbacksThese kill us right now because it makes it impossible to use poll/epoll or to use some other API.
2) switch to a single callback and an event maskWe can't do this without (1) because the can_read callback takes a different signature. But read/write callbacks can be a single callback (but it needs to be changed to accept an event mask).
3) allow the event mask to be changed via a new APIThis gives the functionality you're looking for while making a huge improvement to the internal API.
A quick python/perl script can probably do 90% of the work here. Regards, Anthony Liguori
Amit
[Prev in Thread] | Current Thread | [Next in Thread] |