fio ioengines for CEPH (was: RE: [PATCH] Fix g++ warning about void* used in arithmetic)

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

 



Hi Erwan,

my colleagues of DTAG P&I Platform Engineering of the Business Marketplace and me did the last month
performance profiling of our CEPH cluster for RBDs. We decided to implement fio engine based on librbd
and an external fio engine using CEPHs FileStore class. So we can run the same IO pattern with the same
IO test tool on all the different layers. And fio was just the perfect fit for us:

 * inside the KVM/QEMU VM with fio ioengine=libaio
 * on the KVM-host using fio ioengine=rbd
 * on the CEPH OSD node with a external fio engine based on CEPH FileStore (writing the PG groups on the filesystem + OSD journal)
 * finally: fio tests on the OSD filesystem and the plain blockdevice



I plan to clean the RBD branch up and send out patches hopefully tomorrow.
RBD ioengine branch: https://github.com/TelekomCloud/fio/commits/rbd-engine_v2


The external FileStore ioengine I plan to cleanup next week - right now its a "quick hack" shape:
https://github.com/gollub/ceph/blob/fio_filestore/src/fio_ceph_filestore.c

Once I am done with the cleanup and pushed everything Danny and me will provide a write-up on the
TelekomCloud blog about our CEPH-RBD performance sprint with fio.


Kind Regards
Daniel Gollub
________________________________________
From: Erwan Velu [erwan.velu@xxxxxxxxxxxx]
Sent: Thursday, February 13, 2014 11:32 AM
To: Daniel Gollub
Cc: Jens Axboe; fio@xxxxxxxxxxxxxxx; Gollub, Daniel
Subject: Re: [PATCH] Fix g++ warning about void* used in arithmetic

I'm interested in CEPH too. Can you tell us what is your plan with fio & CEPH ?

----- Mail original -----
De: "Daniel Gollub" <daniel.gollub@xxxxxxxxxxx>
À: "Jens Axboe" <axboe@xxxxxxxxx>
Cc: fio@xxxxxxxxxxxxxxx, "Daniel Gollub" <d.gollub@xxxxxxxxxx>
Envoyé: Jeudi 13 Février 2014 07:13:57
Objet: Re: [PATCH] Fix g++ warning about void* used in arithmetic

Hi Jens,

On Wed, 12 Feb 2014 21:11:21 -0700, Jens Axboe wrote:
> On 2014-02-12 11:25, Daniel Gollub wrote:
> > ../parse.h: In function ‘void* td_var(thread_options*, fio_option*,
> > unsigned int)’: ../parse.h:110:10: warning: pointer of type ‘void
> > *’ used in arithmetic [-Wpointer-arith] ../parse.h:112:9: warning:
> > pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
>
> I bet there are a lot of these, or other similar code that would
> prevent compiling with g++. I'm dubious of the value add here. Fio is
> written in C, after all.
>

I should have mentioned this in the commit message: this is required to
compile an external ionengine written in C++. I do not try to compile
entire fio with g++. If I include fio.h in the external ioengine,
parse.h gets included by fio.h or so and causes this g++ warning.

This was the last warning (which just got introduced 2 days
ago) when fio.h gets included by an external engine build with g++.

So the value here is to build external ioengines against libraries/APIs
which are only available in C++. In my case against an internal library
of CEPH.


--
Daniel Gollub
--
To unsubscribe from this list: send the line "unsubscribe fio" 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 fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux