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

zbd/012: Test higher queue depths #156

Closed
wants to merge 1 commit into from

Conversation

bvanassche
Copy link
Contributor

@bvanassche bvanassche commented Dec 17, 2024

Instead of only testing queue depth 1, also test higher queue depths.
Use libaio for higher queue depths since io_uring does not preserve the
write order if qd >= 2 and a request queue is frozen.

Instead of only testing queue depth 1, also test higher queue depths.
Use libaio for higher queue depths since io_uring does not preserve the
write order if qd >= 2 and a request queue is frozen.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
@bvanassche
Copy link
Contributor Author

Cc-ing @damien-lemoal in case you would like to take a look.

@kawasaki
Copy link
Collaborator

Thanks Bart. I found the relevant discussion in the linux-block list. I still not sure if it is agreed that libaio should be used instead of i_uring for QD>2 case. Will wait hoping the dicussion gets concluded.

@bvanassche
Copy link
Contributor Author

From https://lkml.kernel.org/linux-block/20241218065859.GA25215@lst.de/:

On Tue, Dec 17, 2024 at 12:59:00PM -0800, Damien Le Moal wrote:
> Thanks for the pointer. Will have a look. It may be as simple as always using
> the io-wq worker for zone writes and have these ordered (__WQ_ORDERED). Maybe.

No.  Don't force ordering on people for absolutely no reason.  Use the
new append writes that return the written offsets we've talked about.
Enforcing ordering on I/O submissions/commands/requests always ends up
badly.

Does this mean that io_uring won't support preserving the I/O submission order in the near future? Does that answer mean that there won't be a good alternative to libaio for zoned writes with QD > 1? Is this sufficient to have another look at this pull request?

@damien-lemoal
Copy link
Contributor

Yes and yes is my answer to your first 2 questions. So I think that switching the test to using libaio is enough and makes the test reliable and valid.

@kawasaki
Copy link
Collaborator

kawasaki commented Jan 8, 2025

@bvanassche I applied the patch as the commit 827924b. I took liberty to do some minor changes.
Anyway, thanks for the work!

@kawasaki kawasaki closed this Jan 8, 2025
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.

3 participants