Skip to content

[RFC] Non-repeating file_service_type: roundrobin1 and random1#1809

Open
koct9i wants to merge 1 commit intoaxboe:masterfrom
koct9i:non-repeating-files
Open

[RFC] Non-repeating file_service_type: roundrobin1 and random1#1809
koct9i wants to merge 1 commit intoaxboe:masterfrom
koct9i:non-repeating-files

Conversation

@koct9i
Copy link
Copy Markdown
Contributor

@koct9i koct9i commented Aug 23, 2024

These servicing modes does not repeat file until completion previous operation.

( i.e. when nrfiles > iodepth fio should chose files which has no in-flight I/O )

Streaming IO-engines might not handle several requests to one "file" at once.
Or such workload might not match any real scenarios.

Signed-off-by: Konstantin Khlebnikov koct9i@gmail.com

Reminders:

  1. If you modify struct thread_options, also make corresponding changes in
    cconv.c and bump FIO_SERVER_VER in server.h
  2. If you change the ioengine interface (hooks, flags, etc), remember to bump
    FIO_IOOPS_VERSION in ioengines.h.

// Ok, will do later if this change is ok

These servicing modes does not repeat file until completion previous operation.

Streaming IO-engines might not handle several requests to one "file" at once.
Or such workload might not match any real scenarios.

Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
@vincentkfu
Copy link
Copy Markdown
Collaborator

I think the general idea is fine. I will take a closer look later but here are some general comments:

  • Documentation needs to be updated
  • Please choose better names than random1 and roundrobin1
  • With these options it does not make sense to have iodepth > nrfiles. Perhaps fio should emit an error message in this situation. This could be added in fixup_options().
  • The code would be more readable to have a helper to check service_type == RANDOM || service_type == RANDOM1

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