On 2012-10-08 18:28, Paolo Bonzini wrote: > Il 08/10/2012 18:02, Peter Maydell ha scritto: >>>> It's not (only) about a missing event for the serial frontend, it's also >>>> about a spurious open event to the monitor. That generates unwanted >>>> output during startup. >> Right, so whatever's sending that event needs not to do so until >> creation of the machine is complete. Sending events randomly >> halfway through init is a recipe for problems... > > So we now have proof that using bottom halves outside the block layer > was a bad idea. Thanks Jan. :) > > If Stefan goes on with the AioContext idea, we can have separate > AioContexts for qemu_bh_new on one side and for block devices on the > other, so that qemu_bh_new bottom halves won't fire just because > something is calling the block layer. > > In the meanwhile, qemu_char could use a QEMUTimer expiring in the past > instead of a bottom half.
Sounds "beautiful", waiting to break when we leave like this and start playing with the timer subsystem ;). But I guess it's best for now. Let me have a look... Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux