No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Peter Zijlstra 5b1e4fc298 kthread: Extract KTHREAD_IS_PER_CPU
[ Upstream commit ac687e6e8c26181a33270efd1a2e2241377924b0 ]

There is a need to distinguish geniune per-cpu kthreads from kthreads
that happen to have a single CPU affinity.

Geniune per-cpu kthreads are kthreads that are CPU affine for
correctness, these will obviously have PF_KTHREAD set, but must also
have PF_NO_SETAFFINITY set, lest userspace modify their affinity and
ruins things.

However, these two things are not sufficient, PF_NO_SETAFFINITY is
also set on other tasks that have their affinities controlled through
other means, like for instance workqueues.

Therefore another bit is needed; it turns out kthread_create_per_cpu()
already has such a bit: KTHREAD_IS_PER_CPU, which is used to make
kthread_park()/kthread_unpark() work correctly.

Expose this flag and remove the implicit setting of it from
kthread_create_on_cpu(); the io_uring usage of it seems dubious at
best.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103506.557620262@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-02-07 15:35:49 +01:00
arch x86: __always_inline __{rd,wr}msr() 2021-02-07 15:35:48 +01:00
block Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT"" 2021-02-07 15:35:47 +01:00
certs
crypto crypto: asym_tpm: correct zero out potential secrets 2021-01-12 20:16:17 +01:00
Documentation KVM: Forbid the use of tagged userspace addresses for memslots 2021-02-03 23:25:57 +01:00
drivers drm/amd/display: Change function decide_dp_link_settings to avoid infinite looping 2021-02-07 15:35:49 +01:00
fs udf: fix the problem that the disc content is not displayed 2021-02-07 15:35:49 +01:00
include kthread: Extract KTHREAD_IS_PER_CPU 2021-02-07 15:35:49 +01:00
init exec: Transform exec_update_mutex into a rw_semaphore 2021-01-09 13:44:55 +01:00
ipc
kernel kthread: Extract KTHREAD_IS_PER_CPU 2021-02-07 15:35:49 +01:00
lib lib/raid6: Let $(UNROLL) rules work with macOS userland 2021-01-19 18:26:15 +01:00
LICENSES
mm Revert "mm/slub: fix a memory leak in sysfs_slab_add()" 2021-01-30 13:54:09 +01:00
net mac80211: fix fast-rx encryption check 2021-02-07 15:35:48 +01:00
samples samples: bpf: Fix lwt_len_hist reusing previous BPF map 2020-12-30 11:51:12 +01:00
scripts depmod: handle the case of /sbin/depmod without /sbin in PATH 2021-01-12 20:16:10 +01:00
security dump_common_audit_data(): fix racy accesses to ->d_name 2021-01-19 18:26:16 +01:00
sound ALSA: hda: Add Cometlake-R PCI ID 2021-02-07 15:35:49 +01:00
tools objtool: Don't fail on missing symbol table 2021-02-07 15:35:49 +01:00
usr
virt KVM: Forbid the use of tagged userspace addresses for memslots 2021-02-03 23:25:57 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Documentation/llvm: add documentation on building w/ Clang/LLVM 2020-08-26 10:40:46 +02:00
Makefile Linux 5.4.95 2021-02-03 23:26:02 +01: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.