From: Stefan Roesch <shr@devkernel.io>
To: kernel-team@fb.com
Cc: shr@devkernel.io, axboe@kernel.dk, olivier@trillion01.com,
netdev@vger.kernel.org, io-uring@vger.kernel.org,
kuba@kernel.org, ammarfaizi2@gnuweeb.org
Subject: [RFC PATCH v3 2/4] liburing: add documentation for new napi busy polling
Date: Mon, 14 Nov 2022 23:09:31 -0800 [thread overview]
Message-ID: <20221115070933.1792142-3-shr@devkernel.io> (raw)
In-Reply-To: <20221115070933.1792142-1-shr@devkernel.io>
This adds two man pages for the two new functions:
- io_uring_register_napi_busy_poll_timeout
- io_uring_unregister_napi_busy_poll_timeout
Signed-off-by: Stefan Roesch <shr@devkernel.io>
---
...io_uring_register_napi_busy_poll_timeout.3 | 35 +++++++++++++++++++
man/io_uring_register_napi_prefer_busy_poll.3 | 35 +++++++++++++++++++
..._uring_unregister_napi_busy_poll_timeout.3 | 26 ++++++++++++++
3 files changed, 96 insertions(+)
create mode 100644 man/io_uring_register_napi_busy_poll_timeout.3
create mode 100644 man/io_uring_register_napi_prefer_busy_poll.3
create mode 100644 man/io_uring_unregister_napi_busy_poll_timeout.3
diff --git a/man/io_uring_register_napi_busy_poll_timeout.3 b/man/io_uring_register_napi_busy_poll_timeout.3
new file mode 100644
index 0000000..3acce60
--- /dev/null
+++ b/man/io_uring_register_napi_busy_poll_timeout.3
@@ -0,0 +1,35 @@
+.\" Copyright (C) 2022 Stefan Roesch <shr@devkernel.io>
+.\"
+.\" SPDX-License-Identifier: LGPL-2.0-or-later
+.\"
+.TH io_uring_register_napi_busy_poll_timeout 3 "November 10, 2022" "liburing-2.4" "liburing Manual"
+.SH NAME
+io_uring_register_napi_busy_poll_timeout \- register NAPI busy poll timeout
+.SH SYNOPSIS
+.nf
+.B #include <liburing.h>
+.PP
+.BI "int io_uring_register_napi_busy_poll_timeout(struct io_uring *" ring ","
+.BI " unsigned int " timeout)
+.PP
+.fi
+.SH DESCRIPTION
+.PP
+The
+.BR io_uring_register_napi_busy_poll_timeout (3)
+function registers the NAPI busy poll
+.I timeout
+for subsequent operations.
+
+Registering a NAPI busy poll timeout is a requirement to be able to use
+NAPI busy polling. The other way to enable NAPI busy polling is to set the
+proc setting /proc/sys/net/core/busy_poll.
+
+NAPI busy poll can reduce the network roundtrip time.
+
+
+.SH RETURN VALUE
+On success
+.BR io_uring_register_napi_busy_poll_timeout (3)
+return 0. On failure they return
+.BR -errno .
diff --git a/man/io_uring_register_napi_prefer_busy_poll.3 b/man/io_uring_register_napi_prefer_busy_poll.3
new file mode 100644
index 0000000..713840e
--- /dev/null
+++ b/man/io_uring_register_napi_prefer_busy_poll.3
@@ -0,0 +1,35 @@
+.\" Copyright (C) 2022 Stefan Roesch <shr@devkernel.io>
+.\"
+.\" SPDX-License-Identifier: LGPL-2.0-or-later
+.\"
+.TH io_uring_register_napi_prefer_busy_poll 3 "November 11, 2022" "liburing-2.4" "liburing Manual"
+.SH NAME
+io_uring_register_napi_prefer_busy_poll \- register NAPI prefer busy poll setting
+.SH SYNOPSIS
+.nf
+.B #include <liburing.h>
+.PP
+.BI "int io_uring_register_napi_prefer_busy_poll(struct io_uring *" ring ","
+.BI " bool " prefer_busy_poll)
+.PP
+.fi
+.SH DESCRIPTION
+.PP
+The
+.BR io_uring_register_napi_prefer_busy_poll (3)
+function registers the NAPI
+.I prefer_busy_poll
+for subsequent operations.
+
+Registering a NAPI prefer busy poll seeting sets the mode when calling the
+function napi_busy_loop and corresponds to the SO_PREFER_BUSY_POLL socket
+option.
+
+NAPI prefer busy poll can help in reducng the network roundtrip time.
+
+
+.SH RETURN VALUE
+On success
+.BR io_uring_register_napi_prefer_busy_poll (3)
+return 0. On failure they return
+.BR -errno .
diff --git a/man/io_uring_unregister_napi_busy_poll_timeout.3 b/man/io_uring_unregister_napi_busy_poll_timeout.3
new file mode 100644
index 0000000..666e006
--- /dev/null
+++ b/man/io_uring_unregister_napi_busy_poll_timeout.3
@@ -0,0 +1,26 @@
+.\" Copyright (C) 2022 Stefan Roesch <shr@devkernel.io>
+.\"
+.\" SPDX-License-Identifier: LGPL-2.0-or-later
+.\"
+.TH io_uring_unregister_napi_busy_poll_timeout 3 "November 10, 2022" "liburing-2.4" "liburing Manual"
+.SH NAME
+io_uring_unregister_napi_busy_poll_timeout \- unregister NAPI busy poll timeout
+.SH SYNOPSIS
+.nf
+.B #include <liburing.h>
+.PP
+.BI "int io_uring_unregister_napi_busy_poll_timeout(struct io_uring *" ring ")
+.PP
+.fi
+.SH DESCRIPTION
+.PP
+The
+.BR io_uring_unregister_napi_busy_poll_timeout (3)
+function unregisters the NAPI busy poll
+for subsequent operations.
+
+.SH RETURN VALUE
+On success
+.BR io_uring_unregister_napi_busy_poll_timeout (3)
+return 0. On failure they return
+.BR -errno .
--
2.30.2
next prev parent reply other threads:[~2022-11-15 7:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-15 7:09 [RFC PATCH v3 0/4] liburing: add api for napi busy poll timeout Stefan Roesch
2022-11-15 7:09 ` [RFC PATCH v3 1/4] liburing: add api to set napi busy poll settings Stefan Roesch
2022-11-15 7:09 ` Stefan Roesch [this message]
2022-11-15 7:09 ` [RFC PATCH v3 3/4] liburing: add test programs for napi busy poll Stefan Roesch
2022-11-15 7:09 ` [RFC PATCH v3 4/4] liburing: update changelog with new feature Stefan Roesch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221115070933.1792142-3-shr@devkernel.io \
--to=shr@devkernel.io \
--cc=ammarfaizi2@gnuweeb.org \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=kernel-team@fb.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olivier@trillion01.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.