Il 22/05/2012 11:15, ronnie sahlberg ha scritto: > Hi, > > Now that I see what happens, I can easily workaround this in block/iscsi.c > by the patch below, but I dont know if this is the right thing to do. > > It does appear that here, when I use qemu_set_fd_handler() and add a > handler for "writeble" it takes 55ms before the event system notices > this and reacts. > > > > diff --git a/block/iscsi.c b/block/iscsi.c > index d37c4ee..1ebff0f 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -105,6 +105,10 @@ iscsi_set_events(IscsiLun *iscsilun) > { > struct iscsi_context *iscsi = iscsilun->iscsi; > > + if (iscsi_which_events(iscsi) & POLLOUT) { > + iscsi_process_write(iscsilun); > + } > + > qemu_aio_set_fd_handler(iscsi_get_fd(iscsi), iscsi_process_read, > (iscsi_which_events(iscsi) & POLLOUT) > ? iscsi_process_write : NULL,
Doh, now I remember. Whenever you change the aio handlers you need to call qemu_notify_event() afterwards, if the handler may fire right away. The alternative is your patch, which is correct. Can you resend it with SoB? Paolo