Re: About Adding eventfd support for LibRBD

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

 



Hi, 
>>This was fixed a little while back when qemu was converted to using
>>coroutines and more than one thread, but it would make usage in other
>>applications with simpler threading models easier

AFAIK, currently qemu can use 1 thread by disk, with qemu iothread feature.
But this work with virtio-blk driver only (virtio-scsi not yet stable).
Can help to scale with multiple disk, but still limited with a single disk workload.


(So, if the eventfd implementation could help to scale with a single disk, it could a big speed up for qemu)


Alexandre



----- Mail original -----
De: "Josh Durgin" <jdurgin@xxxxxxxxxx>
À: "Sage Weil" <sage@xxxxxxxxxxxx>, "Jason Dillaman" <dillaman@xxxxxxxxxx>
Cc: "Milosz Tanski" <milosz@xxxxxxxxx>, "Haomai Wang" <haomaiwang@xxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx>
Envoyé: Lundi 13 Juillet 2015 21:58:05
Objet: Re: About Adding eventfd support for LibRBD

On 07/13/2015 11:42 AM, Sage Weil wrote: 
> On Mon, 13 Jul 2015, Jason Dillaman wrote: 
>>> But it doesn't provide an easily compassable way 
>>> of integrating waiting on other events in the application. eventfd is 
>>> easy to embed in your (e)pool loop or any kind of event library 
>>> (libev). 
>> 
>> Agreed -- which is why I asked about the proposed design since it 
>> appears (to me) that everything is hidden behind the librbd API and thus 
>> not embeddable within a generic app event loop. It might just be a 
>> misunderstanding on my part, which is why I asked for an example 
>> integration. 
> 
> Bonus points if this helps out the qemu librbd usage, which (if memory 
> serves) does some annoying stuff with a pipe in the callback to notify 
> qemu of IO completion. Perhaps qemu can work with an eventfd more 
> directly? 

This was fixed a little while back when qemu was converted to using 
coroutines and more than one thread, but it would make usage in other 
applications with simpler threading models easier. 

IIRC the xen blktap driver for rbd used the same pipe workaround to 
deal with librbd's current callback api. 
-- 
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in 
the body of a message to majordomo@xxxxxxxxxxxxxxx 
More majordomo info at http://vger.kernel.org/majordomo-info.html 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux