Re: [PATCH 1/2] tcm_vhost: Wait for pending requests in vhost_scsi_flush()

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

 



Il 12/03/2013 02:31, Asias He ha scritto:
> On Mon, Mar 11, 2013 at 12:36:37PM +0100, Paolo Bonzini wrote:
>> Il 11/03/2013 06:09, Asias He ha scritto:
>>> This patch makes vhost_scsi_flush() wait for all the pending requests
>>> issued before the flush operation to be finished.
>>
>> There is no protection against issuing concurrent flush operations.  If
>> we later would like to make the flush a ioctl (for example for migration
>> purposes), it would be confusing, and I'm not sure how you could extend
>> the during_flush machinery.
> 
> vhost_scsi_flush() is called under the vs->dev.mutex lock.

Ah, ok.

>> What about making vhost_scsi_flush() wait for all pending requests,
>> including those issues during the flush operation?
> 
> This will take unbonded time if guest keep sending requests.

Yes, that's correct, but flush doesn't really mean much if new requests
can come in (unlike _cache_ flushes like SYNCHRONIZE CACHE).  In the end
you'll have to stop the VM first and then issue the flush.  At this
point, it does not change much if you wait for previous requests or all
requests, and I suspect that waiting for all requests simplifies the
code noticeably.

>> Then you can easily
>> support concurrent flushes; just add a waitqueue and wake_up_all at the
>> end of the flush operation.
> 
> I am not sure why we want concurrent flushes. The flush thing is
> already getting complex.

Yeah, it is too complex...

Paolo

>> BTW, adding such a ioctl as part of this patch would probably be a good
>> thing to do anyway.
>>
>> Paolo
> 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux