Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lisa.wlgen.fio: Introduce Fio as Workload #2148

Closed
wants to merge 1 commit into from

Conversation

cloehle
Copy link
Contributor

@cloehle cloehle commented Dec 11, 2023

Fio is a highly-configurable I/O tester used by the block layer for testing and as a general benchmark tool for storage. Even for scheduler investigations Fio is interesting as in_iowait-setting tasks are treated differently. To be able to create tests for them we introduce a simplistic lisa frontend.

Fio Workloads can now be created like:

ftest = Fio(target, filename="/dev/nvme0n1", name="test", rw="randread", runtime=50, bs='4k') and then ran like any other:

with ftest:
result = fiotestmmc.run()
print(result.read_iops)

@cloehle
Copy link
Contributor Author

cloehle commented Dec 11, 2023

Just a couple of notes:
Fio has the capability to specify jobs using a file, I didn't implement this and just used command line.
If this is preferred I can do that, I was also thinking about the possibility of combining a RTA workload and a Fio one, which I wouldn't say is too far fetched.

The work is really for investigating schedutil / intel_pstate iowait_boost behavior but of course the entire I/O workload w.r.t. scheduling events and their analysis could prove useful for other use cases like io_uring workloads more generally.

Fio is a highly-configurable I/O tester used by the block layer for testing
and as a general benchmark tool for storage. Even for scheduler investigations
Fio is interesting as in_iowait-setting tasks are treated differently.
To be able to create tests for them we introduce a simplistic lisa frontend.

Fio Workloads can now be created like:

ftest = Fio(target, filename="/dev/nvme0n1", name="test", rw="randread", runtime=50, bs='4k')
and then ran like any other:

with ftest:
    result = fiotestmmc.run()
    print(result.read_iops)

Signed-off-by: Christian Loehle <[email protected]>
@cloehle cloehle force-pushed the cloehle/fio-workload branch from 490c8e0 to 9c4054b Compare December 14, 2023 14:02
@douglas-raillard-arm
Copy link
Contributor

Closing as the project has moved to https://gitlab.arm.com/tooling/lisa/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants