All of lore.kernel.org
 help / color / mirror / Atom feed
* About Adding eventfd support for LibRBD
@ 2015-07-07 15:18 Haomai Wang
  2015-07-08  3:08 ` Josh Durgin
  0 siblings, 1 reply; 13+ messages in thread
From: Haomai Wang @ 2015-07-07 15:18 UTC (permalink / raw)
  To: Josh Durgin, ceph-devel@vger.kernel.org; +Cc: Jason Dillaman

Hi All,

Currently librbd support aio_read/write with specified
callback(AioCompletion). It would be nice for simple caller logic, but
it also has some problems:

1. Performance bottleneck: Create/Free AioCompletion and librbd
internal finisher thread complete "callback" isn't a *very
littleweight" job, especially when "callback" need to update some
status with lock hold

2. Call logic: Usually like fio rbd engine, caller will maintain some
status with io and rbd callback isn't enough to finish all the jobs
related to io. For example, caller need to check each queued io
stupidly again when rbd callback finished.

So maybe we could add new api which support eventfd, so caller could
add eventfd to its event loop and batch reap finished io event and
update status or do more things.

Any feedback is appreciated!

-- 
Best Regards,

Wheat

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-07-20  5:03 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-07 15:18 About Adding eventfd support for LibRBD Haomai Wang
2015-07-08  3:08 ` Josh Durgin
2015-07-08  3:46   ` Haomai Wang
2015-07-10  3:16     ` Haomai Wang
2015-07-13 13:52       ` Jason Dillaman
2015-07-13 17:14         ` Haomai Wang
2015-07-13 17:32           ` Jason Dillaman
2015-07-13 18:16             ` Milosz Tanski
2015-07-13 18:39               ` Jason Dillaman
2015-07-13 18:42                 ` Sage Weil
2015-07-13 19:58                   ` Josh Durgin
2015-07-20  5:03                     ` Alexandre DERUMIER
2015-07-13 19:36                 ` Milosz Tanski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.