Hi there Udit! (resending this reply to the list) On 23 May 2018 at 16:34, Udit agarwal <dev.madaari@xxxxxxxxx> wrote: > Hi community, > I am a Google SoC participant working on RTEMS. One of my project goal > is to import a multi functional IO benchmark to RTEMS and fio is > definitely my first choice. RTEMS has structure pretty much like > FreeBSD, so porting won't be very difficult. This mail is just > intended to give a small introduction of my goal, and to provide a > context for my future queries. > I have started working towards this, and would love to see an official > release of FIO for RTEMS too. > Thanks! Sounds like it should be fun! In general fio should be portable to an operating system that has the following nature: o Has GCC or a compiler that understands GCC's dialect of C (e.g. clang) o Can present various "posixy" style interfaces o Has *nix userland utilities available in the build environment. For example, the Makefile only works with GNUmake. Fio really needs some form of POSIX threads (aka pthreads) because it is heavily dependent on them. I'd argue the Windows port is the one to a system that contains the least POSIX within it and thus fio has to supply various platform specific shims to workaround this but even there a POSIX style threading library is utilised outside the windowsaio I/O engine. Further, the build happens using *nix utilities (but a *nix environment is not required at runtime). As another reference, I did an fio port to MINIX over on https://github.com/sitsofe/fio/tree/minix . What made things trickier there (at least at the time of writing) was the issue that MINIX lacks kernel threads and thus does not ship a pthread library by default. Fortunately MINIX has a port of GNU Pth which provides co-operative threading (and it can also present a pthread interface) so I was able to use that. My MINIX fio port isn't perfect and has a few ugly workarounds but it was surprisingly functional. Anyway good luck and let us know how you get on! -- Sitsofe | http://sucs.org/~sits/ -- 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