1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-23 16:53:58 -05:00
No description
Find a file
Jens Axboe a0d45c3f59 io_uring/fdinfo: remove need for sqpoll lock for thread/pid retrieval
A previous commit added a trylock for getting the SQPOLL thread info via
fdinfo, but this introduced a regression where we often fail to get it if
the thread is busy. For that case, we end up not printing the current CPU
and PID info.

Rather than rely on this lock, just print the pid we already stored in
the io_sq_data struct, and ensure we update the current CPU every time
we've slept or potentially rescheduled. The latter won't potentially be
100% accurate, but that wasn't the case before either as the task can
get migrated at any time unless it has been pinned at creation time.

We retain keeping the io_sq_data dereference inside the ctx->uring_lock,
as it has always been, as destruction of the thread and data happen below
that. We could make this RCU safe, but there's little point in doing that.

With this, we always print the last valid information we had, rather than
have spurious outputs with missing information.

Fixes: 7644b1a1c9 ("io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-11-15 06:35:46 -07:00
arch parisc architecture fixes for kernel v6.7-rc1 (part 2): 2023-11-12 11:05:31 -08:00
block
certs
crypto
Documentation Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
drivers wifi: iwlwifi: fix system commands group ordering 2023-11-12 11:34:19 -08:00
fs Sixteen smb3/cifs client fixes 2023-11-11 17:17:22 -08:00
include Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
init
io_uring io_uring/fdinfo: remove need for sqpoll lock for thread/pid retrieval 2023-11-15 06:35:46 -07:00
ipc
kernel Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
lib
LICENSES
mm
net
rust
samples
scripts
security
sound sound fixes for 6.7-rc1 2023-11-10 11:57:51 -08:00
tools LoongArch changes for v6.7 2023-11-12 10:58:08 -08:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile Linux 6.7-rc1 2023-11-12 16:19:07 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.