Re: About Adding eventfd support for LibRBD

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

 



On Mon, Jul 13, 2015 at 1:32 PM, Jason Dillaman <dillaman@xxxxxxxxxx> wrote:
>> Sorry, I'm not following. Even we have poll_io_events, we need to when
>> to call "poll_io_events".
>>
>> I guess you mean we could notify user's side "fd" in rbd callback.
>> Yes, we could do this. But a extra rbd callback could be omitted if we
>> embed standard notification methods, we can get performance benefits
>> via inline notify and maybe we can reduce internal completion
>> structures(maybe?).
>>
>
> Perhaps if you could provide a full example of how you seeing this be used, it would be helpful.  Are you proposing to just use eventfd (and its equivalents under other OSs) in-lieu of a mutex/condition variable. I.e. when an AioCompletion finishes, it would add itself to a (potentially lock-free) list of completed AIO ops to be returned by the next "poll_io_events" invocation -- which is signaled via the eventfd mechanism instead of the using a pipe or lock/condition variable.

A lock free list (SPSC) + an eventcount to prevent busy waiting is
probably the best balance between performance and not busy spinning in
the free / full case. 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).

> --
> 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



-- 
Milosz Tanski
CTO
16 East 34th Street, 15th floor
New York, NY 10016

p: 646-253-9055
e: milosz@xxxxxxxxx
--
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