axboe / liburing

Library providing helpers for the Linux kernel io_uring support
MIT License
2.89k stars 407 forks source link

[GIT PULL] man/io_uring_enter: Add doc for timeout flags (multishot, etime_success), update sqe definition, various fmt-ing fixes #1229

Closed CPestka closed 2 months ago

CPestka commented 2 months ago

This

  1. Adds documentation for
    1. IORING_TIMEOUT_MULTISHOT
    2. IORING_TIMEOUT_ETIME_SUCCESS
    3. some possible errors regarding the timeout op
  2. Updates the sqe definition in the man page to the current one in io_uring.h
  3. Attempts to fix various formatting errors/inconsistencies, like use of .I rather than .B for flags described in man page.
  4. Add some small remarks about the return value of the install registered fd op and the default clock of the timeout op

    git request-pull output:

    
    The following changes since commit ad42755a00e27eaeb20089c2984b0211d3292a96:
    
    test/futex: don't leave futex wait pending (2024-09-14 10:04:40 -0600)

are available in the Git repository at:

https://github.com/CPestka/liburing io_uring_enter_man

for you to fetch changes up to 1438d97086c349859709b51d1a12ad120a40b1f8:

man/io_uring_enter: Add doc for IORING_TIMEOUT_ETIME_SUCCESS (2024-09-15 13:39:40 +0200)


CPestka (6): man/io_uring_enter: Various formatting fixes man/io_uring_enter: Update sqe definition in man page man/io_uring_enter: Add docs for multi shot variant of timer op man/io_uring_enter: Add remark about default clock for timer ops man/io_uring_enter: Add remark about return value of reg fd -> fd op man/io_uring_enter: Add doc for IORING_TIMEOUT_ETIME_SUCCESS

man/io_uring_enter.2 | 474 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------- 1 file changed, 283 insertions(+), 191 deletions(-)

----
<details>
<summary>Click to show/hide pull request guidelines</summary>

## Pull Request Guidelines
1. To make everyone easily filter pull request from the email
notification, use `[GIT PULL]` as a prefix in your PR title.

[GIT PULL] Your Pull Request Title

5. Follow the commit message format rules below.
6. Follow the Linux kernel coding style (see: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst).

### Commit message format rules:
1. The first line is title (don't be more than 72 chars if possible).
5. Then an empty line.
6. Then a description (may be omitted for truly trivial changes).
7. Then an empty line again (if it has a description).
8. Then a `Signed-off-by` tag with your real name and email. For example:

Signed-off-by: Foo Bar foo.bar@gmail.com


The description should be word-wrapped at 72 chars. Some things should
not be word-wrapped. They may be some kind of quoted text - long
compiler error messages, oops reports, Link, etc. (things that have a
certain specific format).

Note that all of this goes in the commit message, not in the pull
request text. The pull request text should introduce what this pull
request does, and each commit message should explain the rationale for
why that particular change was made. The git tree is canonical source
of truth, not github.

Each patch should do one thing, and one thing only. If you find yourself
writing an explanation for why a patch is fixing multiple issues, that's
a good indication that the change should be split into separate patches.

If the commit is a fix for an issue, add a `Fixes` tag with the issue
URL.

Don't use GitHub anonymous email like this as the commit author:

123456789+username@users.noreply.github.com


Use a real email address!

### Commit message example:

src/queue: don't flush SQ ring for new wait interface

If we have IORING_FEAT_EXT_ARG, then timeouts are done through the syscall instead of by posting an internal timeout. This was done to be both more efficient, but also to enable multi-threaded use the wait side. If we touch the SQ state by flushing it, that isn't safe without synchronization.

Fixes: https://github.com/axboe/liburing/issues/402 Signed-off-by: Jens Axboe axboe@kernel.dk



</details>

----
## By submitting this pull request, I acknowledge that:
1. I have followed the above pull request guidelines.
2. I have the rights to submit this work under the same license.
3. I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information).
CPestka commented 2 months ago

Btw i think #1121, #1045, #1014, #990, #941 and maybe #1120 could (probably?) be closed due to this and the last pr.

axboe commented 2 months ago

Looks good, thanks for doing these documentation updates!