All the various types of IO operations against backing objects are all
confined within AioObjectRequest.cc. At a high-level, the IO will follow
this path:

fio -> librbd AIO API -> librbd AioImageRequestWQ [1] -> librbd
AioImageRequest (-> osdc ObjectCacher [2] -> librbd LibrbdWriteback [3]) ->
AioObjectRequest -> librados -> OSDs -> librados AIO callback [4] (->
librbd LibrbdWriteback -> osdc ObjectCacher-> [3]) librbd AioCompletion ->
fio.

[1] IO enters a work queue unless 'rbd_non_blocking_aio' configuration
option set to false. This option will eventually be removed once librados
is updated to ensure AIO operations cannot block (for extended periods of
time) to avoid the context switch on IO submission.
[2] If librbd cache is enabled, the fio IO operation will be immediately
completed here if 'rbd_cache_writethrough_until_flush' is set to false or
if fio is configured to send syncs).
[3] The librbd cache is single-threaded so high queue-depths can result in
a bottleneck here.
[4] librados AIO callbacks are currently single-threaded so high queue
depths can result in a bottleneck here.


On Tue, Jul 12, 2016 at 3:42 AM, Wido den Hollander <[email protected]> wrote:

>
> > Op 12 juli 2016 om 0:28 schreef Mansour Shafaei Moghaddam <
> [email protected]>:
> >
> >
> > Can anyone explain or at least refer to the lines of the codes in librd
> by
> > which objects are created? I need to know the relation between objects
> and
> > fio's iodepth...
>
> Objects are not created in librados, you just write to them and they start
> to exist.
>
> So librbd simply issues a write() to RADOS regardless of the object's
> existence.
>
> Wido
>
> >
> > Thanks in advance
> > _______________________________________________
> > ceph-users mailing list
> > [email protected]
> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> _______________________________________________
> ceph-users mailing list
> [email protected]
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>



-- 
Jason
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to