Add AIO and Direct IO support for IOR phases#104
Conversation
This commit introduces a set of features and fixes to improve IOR execution flexibility and overall test stability: IOR Execution Enhancements: - Added '--with-aio' to IOR configuration in prepare.sh to enable AIO. - Introduced 'direct' option for IOR phases to support '--posix.odirect'. - Added 'iteration' option to the IOR easy read phase. Phase Execution & Validation: - Added should_run_phase() check in main.c to properly skip disabled phases. - Improved the stonewall condition validation logic in phase_dbg.c. Bug Fixes: - Added CFLAGS="-fPIC" for pfind compilation in prepare.sh. - Fixed missing return value validation for fread() in phase_mdworkbench.c. Signed-off-by: Jinshan Xiong <jinshanx@google.com>
|
Huge thanks for the patch. I think the "IOR execution" portions of direct, iteration, aio need further discussion and should be separated into a separate PR. The bug fixes and phase execution would also be great if they could be separated into 2 separate PRs. On the ior execution pieces, the iteration part is not in the spirit of io500 and could bias the results, and so that will not be accepted. We need to discuss the aio portion, as we might prefer for users to just do this another way...but thank you for the example of how to get it done. On the direct, we don't want to add a new var to the function for every new option, so we might think about ways to generalize this, but thanks for the patch as an example of how to get started. I'm a bit confused as to why should_run_phase is needed? I'll let the others comment on the other fixes... |
|
For the direct part, I can make it to 'aio --posix.direct' just like the current 'POSIX --posix.direct' does.
The I agree the fix is not necessary for a valid run but just trying to make it better. In my recent io500 run, I didn't include anything from this patch. |
|
@JulianKunkel, can you comment on some of the deeper code changes? We aren't sure about the implications of this. |
This commit introduces a set of features and fixes to improve IOR execution flexibility and overall test stability:
IOR Execution Enhancements:
Phase Execution & Validation:
Bug Fixes: