-
Notifications
You must be signed in to change notification settings - Fork 4
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
fio: Adding fio engine #32
Open
ErwanAliasr1
wants to merge
4
commits into
main
Choose a base branch
from
issue31
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
ErwanAliasr1
commented
Aug 26, 2024
rebasing on top of current main |
ErwanAliasr1
force-pushed
the
issue31
branch
11 times, most recently
from
November 5, 2024 13:53
0f55da8
to
8d2ffe3
Compare
As new engines are coming, let's name files so it's easy to remember what file is doing what. Signed-off-by: Erwan Velu <[email protected]>
The parameter has no link to the benchmark preventing engines extracting the benchmark properties including the current job number. This will be needed by fio to name its jobs. Signed-off-by: Erwan Velu <[email protected]>
This function is an helper to provide a unique name to benchmarks. The current job position is padded to the current job name. This commit: - add this new function - replace the existing occurences. - change the output to report the name with position at runtime Before : [full_cpu_load] stressng/cpu/matrixprod(M): 1 stressor on CPU [0] for 60s [full_cpu_load] stressng/cpu/matrixprod(M): 2 stressor on CPU [0] for 60s [full_cpu_load] stressng/cpu/matrixprod(M): 4 stressor on CPU [0] for 60s After: [full_cpu_load_0] stressng/cpu/matrixprod(M): 1 stressor on CPU [0] for 60s [full_cpu_load_1] stressng/cpu/matrixprod(M): 2 stressor on CPU [0] for 60s [full_cpu_load_2] stressng/cpu/matrixprod(M): 4 stressor on CPU [0] for 60s Signed-off-by: Erwan Velu <[email protected]>
This commit is adding a first cmdline engine_module to execute a single fio command line. This code has been tested on fio-3.19, defining the minimal release version. To enable this mode, engine_module must be set to "cmdline". The expected command line to forward to fio must be provided in the engine_module_parameter_base. The command line will be tweaked by hwbench to ensure: - runtime consistency with other engines : --time_based and --runtime are added - output consistency: --output-format=json+ is added - job naming: --name is adjusted to match hwbench's job name - logs: --write_*_logs are enabled at a 20sec precision - cache invalidation: each benchmark clears the cache to ensure an out-of-cache testing Please note that : - Fio's runtime will inherit automatically from hwbench's runtime value. - --numjobs value will be fed with 'stressor_range' making possible to study the scalability of a device with a minimal code. If one of these values were already present in the engine_module_parameter_base, hwbench will replace them by the values that were computed based on the benchmark descrption. A sample configuration file (configs/fio.conf) is provided as an example, it will: - test /dev/nvme0n1 in a randread 4k profile - two benchmarks are automatically created as per the stressor_range value ("4,6") : -- one with numjobs=4 -- one with numjobs=6 The testing suite is added to ensure a proper parsing and benchmarking job creation. A documentation is also added to detail this first implementation behavior. Signed-off-by: Erwan Velu <[email protected]>
ErwanAliasr1
force-pushed
the
issue31
branch
from
November 13, 2024 10:24
8d2ffe3
to
b33091e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.