1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 18:37:35 +00:00

Ports: Add fio port

fio allows you to test various different IO subsystems and patterns.
It can help us test and benchmark the I/O subsystems of Serenity.

This port gets the fio bootstrapped and working, using the included
.fio file, I have been able to test the file I/O performance already.
This commit is contained in:
Brian Gianforcaro 2021-12-22 00:16:14 -08:00 committed by Brian Gianforcaro
parent c724955d54
commit 4490668af2
8 changed files with 246 additions and 0 deletions

View file

@ -0,0 +1,25 @@
# Patches for fio 3.29 on SerenityOS
## `0001-fio-remove-non-existent-header-sys-ipc.patch`
Serenity currently doesn't have a <sys/ipc.h> header, so we have to patch the include out.
## `0002-fio-add-serenityos-platform-support.patch`
`fio` abstracts individual operating system support out into to an `os/os-<name>.h` header
where you can select which platform features are available and implement missing function
stubs for our operating system.
This patch implements basic OS support for Serenity just to get fio up and running.
## `0003-fio-add-serenityos-support-to-configure.patch`
This patch implements targetos detection for serenity, and also disables shared memory
support automatically for serenity, as it's not currently supported.
## `0004-fio-disable-rdtsc-support-for-serenityos.patch`
This patch disables the function which uses `rdtsc` to get the current clock time,
as that instruction isn't allowed to be called from user space by serenity.
If you did attempt to call it you would trip a segfault.