projects/linux·commit 5181afcd

Merge tag 'docs-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux

5181afcd · Linus Torvalds <[email protected]> · 2026-04-14 08:47:08 -07:00

Pull documentation updates from Jonathan Corbet:
 "A busier cycle than I had expected for docs, including:

   - Translations: some overdue updates to the Japanese translations,
     Chinese translations for some of the Rust documentation, and the
     beginnings of a Portuguese translation.

   - New documents covering CPU isolation, managed interrupts, debugging
     Python gbb scripts, and more.

   - More tooling work from Mauro, reducing docs-build warnings, adding
     self tests, improving man-page output, bringing in a proper C
     tokenizer to replace (some of) the mess of kernel-doc regexes, and
     more.

   - Update and synchronize changes.rst and scripts/ver_linux, and put
     both into alphabetical order.

  ... and a long list of documentation updates, typo fixes, and general
  improvements"

* tag 'docs-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux: (162 commits)
  Documentation: core-api: real-time: correct spelling
  doc: Add CPU Isolation documentation
  Documentation: Add managed interrupts
  Documentation: seq_file: drop 2.6 reference
  docs/zh_CN: update rust/index.rst translation
  docs/zh_CN: update rust/quick-start.rst translation
  docs/zh_CN: update rust/coding-guidelines.rst translation
  docs/zh_CN: update rust/arch-support.rst translation
  docs/zh_CN: sync process/2.Process.rst with English version
  docs/zh_CN: fix an inconsistent statement in dev-tools/testing-overview
  tracing: Documentation: Update histogram-design.rst for fn() handling
  docs: sysctl: Add documentation for /proc/sys/xen/
  Docs: hid: intel-ish-hid: make long URL usable
  Documentation/kernel-parameters: fix architecture alignment for pt, nopt, and nobypass
  sched/doc: Update yield_task description in sched-design-CFS
  Documentation/rtla: Convert links to RST format
  docs: fix typos and duplicated words across documentation
  docs: fix typo in zoran driver documentation
  docs: add an Assisted-by mention to submitting-patches.rst
  Revert "scripts/checkpatch: add Assisted-by: tag validation"
  ...
Commit
5181afcdf99527dd92a88f80fc4d0d8013e1b510
Parents
d60bc140 · 40a3f6c5

Merge commit. Changes below are compared with the first parent: d60bc140.

Changes

115 files changed · +11356 −1057

FileStatusAddDelContent
Documentation/admin-guide/bcache.rstmodified+1−1View file
Documentation/admin-guide/cpu-isolation.rstadded+357−0View file
Documentation/admin-guide/index.rstmodified+1−0View file
Documentation/admin-guide/kernel-parameters.txtmodified+2−6View file
Documentation/admin-guide/pm/intel-speed-select.rstmodified+1−1View file
Documentation/admin-guide/quickly-build-trimmed-linux.rstmodified+8−6View file
Documentation/admin-guide/reporting-issues.rstmodified+108−102View file
Documentation/admin-guide/sysctl/crypto.rstadded+47−0View file
Documentation/admin-guide/sysctl/debug.rstadded+52−0View file
Documentation/admin-guide/sysctl/index.rstmodified+6−3View file
Documentation/admin-guide/sysctl/xen.rstadded+31−0View file
Documentation/admin-guide/tainted-kernels.rstmodified+1−1View file
Documentation/admin-guide/verify-bugs-and-bisect-regressions.rstmodified+7−8View file
Documentation/conf.pymodified+1−0View file
Documentation/core-api/housekeeping.rstmodified+1−1View file
Documentation/core-api/irq/index.rstmodified+1−0View file
Documentation/core-api/irq/managed_irq.rstadded+116−0View file
Documentation/core-api/memory-hotplug.rstmodified+1−1View file
Documentation/core-api/printk-basics.rstmodified+36−0View file
Documentation/core-api/real-time/architecture-porting.rstmodified+1−1View file
Documentation/core-api/real-time/differences.rstmodified+1−1View file
Documentation/dev-tools/coccinelle.rstmodified+3−2View file
Documentation/doc-guide/kernel-doc.rstmodified+6−0View file
Documentation/driver-api/acpi/acpi-drivers.rstmodified+1−1View file
Documentation/driver-api/cxl/platform/acpi/cedt.rstmodified+1−1View file
Documentation/driver-api/cxl/platform/bios-and-efi.rstmodified+1−1View file
Documentation/driver-api/dmaengine/pxa_dma.rstmodified+1−1View file
Documentation/driver-api/early-userspace/early_userspace_support.rstmodified+1−1View file
Documentation/driver-api/interconnect.rstmodified+14−2View file
Documentation/driver-api/libata.rstmodified+1−1View file
Documentation/driver-api/media/drivers/zoran.rstmodified+1−1View file
Documentation/driver-api/pci/p2pdma.rstmodified+1−1View file
Documentation/features/perf/perf-regs/arch-support.txtmodified+1−1View file
Documentation/features/perf/perf-stackdump/arch-support.txtmodified+1−1View file
Documentation/filesystems/path-lookup.rstmodified+1−1View file
Documentation/filesystems/proc.rstmodified+32−20View file
Documentation/filesystems/seq_file.rstmodified+1−1View file
Documentation/hid/intel-ish-hid.rstmodified+2−2View file
Documentation/mm/hwpoison.rstmodified+1−1View file
Documentation/mm/numa.rstmodified+1−1View file
Documentation/process/2.Process.rstmodified+1−1View file
Documentation/process/backporting.rstmodified+1−1View file
Documentation/process/changes.rstmodified+30−28View file
Documentation/process/debugging/gdb-kernel-debugging.rstmodified+9−0View file
Documentation/process/handling-regressions.rstmodified+463−232View file
Documentation/process/maintainer-handbooks.rstmodified+0−2View file
Documentation/process/maintainer-tip.rstmodified+1−1View file
Documentation/process/submitting-patches.rstmodified+11−1View file
Documentation/scheduler/sched-deadline.rstmodified+17−5View file
Documentation/scheduler/sched-design-CFS.rstmodified+2−3View file
Documentation/sphinx-static/custom.cssmodified+26−0View file
Documentation/sphinx/translations.pymodified+1−0View file
Documentation/tools/kdoc_ancillary.rstmodified+17−0View file
Documentation/tools/kdoc_parser.rstmodified+8−0View file
Documentation/tools/python.rstmodified+2−0View file
Documentation/tools/rtla/rtla-hwnoise.rstmodified+1−1View file
Documentation/tools/rtla/rtla-osnoise-hist.rstmodified+1−1View file
Documentation/tools/rtla/rtla-osnoise-top.rstmodified+1−1View file
Documentation/tools/rtla/rtla-osnoise.rstmodified+1−1View file
Documentation/tools/rtla/rtla-timerlat-hist.rstmodified+1−1View file
Documentation/tools/rtla/rtla-timerlat-top.rstmodified+1−1View file
Documentation/tools/rtla/rtla-timerlat.rstmodified+1−1View file
Documentation/tools/rtla/rtla.rstmodified+5−1View file
Documentation/tools/unittest.rstadded+24−0View file
Documentation/trace/histogram-design.rstmodified+13−7View file
Documentation/translations/index.rstmodified+2−2View file
Documentation/translations/it_IT/process/4.Coding.rstmodified+2−1View file
Documentation/translations/ja_JP/process/submitting-patches.rstmodified+127−2View file
Documentation/translations/pt_BR/disclaimer-pt_BR.rstadded+11−0View file
Documentation/translations/pt_BR/index.rstadded+77−0View file
Documentation/translations/pt_BR/process/1.Intro.rstadded+269−0View file
Documentation/translations/pt_BR/process/changes.rstadded+576−0View file
Documentation/translations/pt_BR/process/conclave.rstadded+40−0View file
Documentation/translations/pt_BR/process/howto.rstadded+637−0View file
Documentation/translations/pt_BR/process/maintainer-handbooks.rstadded+18−0View file
Documentation/translations/pt_BR/process/maintainer-kvm-x86.rstadded+435−0View file
Documentation/translations/pt_BR/process/maintainer-netdev.rstadded+596−0View file
Documentation/translations/pt_BR/process/maintainer-soc-clean-dts.rstadded+28−0View file
Documentation/translations/pt_BR/process/maintainer-soc.rstadded+222−0View file
Documentation/translations/sp_SP/process/4.Coding.rstmodified+2−1View file
Documentation/translations/sp_SP/process/submitting-patches.rstmodified+1−1View file
Documentation/translations/sp_SP/scheduler/sched-design-CFS.rstmodified+3−3View file
Documentation/translations/zh_CN/dev-tools/testing-overview.rstmodified+1−1View file
Documentation/translations/zh_CN/process/2.Process.rstmodified+25−31View file
Documentation/translations/zh_CN/process/4.Coding.rstmodified+1−1View file
Documentation/translations/zh_CN/rust/arch-support.rstmodified+5−4View file
Documentation/translations/zh_CN/rust/coding-guidelines.rstmodified+248−14View file
Documentation/translations/zh_CN/rust/index.rstmodified+0−17View file
Documentation/translations/zh_CN/rust/quick-start.rstmodified+148−42View file
Documentation/translations/zh_CN/scheduler/sched-design-CFS.rstmodified+2−2View file
Documentation/translations/zh_TW/admin-guide/README.rstmodified+1−1View file
Documentation/translations/zh_TW/process/4.Coding.rstmodified+1−1View file
MAINTAINERSmodified+8−2View file
scripts/ver_linuxmodified+42−21View file
tools/docs/checktransupdate.pymodified+17−5View file
tools/docs/kdoc_diffadded+508−0View file
tools/docs/kernel-docmodified+40−9View file
tools/docs/sphinx-build-wrappermodified+12−5View file
tools/lib/python/jobserver.pymodified+2−2View file
tools/lib/python/kdoc/c_lex.pyadded+662−0View file
tools/lib/python/kdoc/kdoc_files.pymodified+118−33View file
tools/lib/python/kdoc/kdoc_item.pymodified+41−4View file
tools/lib/python/kdoc/kdoc_output.pymodified+302−22View file
tools/lib/python/kdoc/kdoc_parser.pymodified+91−201View file
tools/lib/python/kdoc/kdoc_re.pymodified+37−168View file
tools/lib/python/kdoc/kdoc_yaml_file.pyadded+178−0View file
tools/lib/python/kdoc/xforms_lists.pyadded+153−0View file
tools/lib/python/unittest_helper.pyadded+363−0View file
tools/unittests/kdoc-test-schema.yamladded+156−0View file
tools/unittests/kdoc-test.yamladded+1698−0View file
tools/unittests/run.pyadded+17−0View file
tools/unittests/test_cmatch.pyadded+821−0View file
tools/unittests/test_kdoc_parser.pyadded+560−0View file
tools/unittests/test_kdoc_test_schema.pyadded+94−0View file
tools/unittests/test_tokenizer.pyadded+469−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/admin-guide/bcache.rst

View file
diff --git a/Documentation/admin-guide/bcache.rst b/Documentation/admin-guide/bcache.rst
index f71f349..325816e 100644
--- a/Documentation/admin-guide/bcache.rst
+++ b/Documentation/admin-guide/bcache.rst
@@ -618,7 +618,7 @@ cache_replacement_policy
One of either lru, fifo or random.
freelist_percent
- Size of the freelist as a percentage of nbuckets. Can be written to to
+ Size of the freelist as a percentage of nbuckets. Can be written to
increase the number of buckets kept on the freelist, which lets you
artificially reduce the size of the cache at runtime. Mostly for testing
purposes (i.e. testing how different size caches affect your hit rate).

Documentation/admin-guide/cpu-isolation.rst

View file
diff --git a/Documentation/admin-guide/cpu-isolation.rst b/Documentation/admin-guide/cpu-isolation.rst
new file mode 100644
index 0000000..8c65d03
--- /dev/null
+++ b/Documentation/admin-guide/cpu-isolation.rst
@@ -0,0 +1,357 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=============
+CPU Isolation
+=============
+
+Introduction
+============
+
+"CPU Isolation" means leaving a CPU exclusive to a given workload
+without any undesired code interference from the kernel.
+
+Those interferences, commonly pointed out as "noise", can be triggered
+by asynchronous events (interrupts, timers, scheduler preemption by
+workqueues and kthreads, ...) or synchronous events (syscalls and page
+faults).
+
+Such noise usually goes unnoticed. After all, synchronous events are a
+component of the requested kernel service. And asynchronous events are
+either sufficiently well-distributed by the scheduler when executed
+as tasks or reasonably fast when executed as interrupt. The timer
+interrupt can even execute 1024 times per seconds without a significant
+and measurable impact most of the time.
+
+However some rare and extreme workloads can be quite sensitive to
+those kinds of noise. This is the case, for example, with high
+bandwidth network processing that can't afford losing a single packet
+or very low latency network processing. Typically those use cases
+involve DPDK, bypassing the kernel networking stack and performing
+direct access to the networking device from userspace.
+
+In order to run a CPU without or with limited kernel noise, the
+related housekeeping work needs to be either shut down, migrated or
+offloaded.
+
+Housekeeping
+============
+
+In the CPU isolation terminology, housekeeping is the work, often
+asynchronous, that the kernel needs to process in order to maintain
+all its services. It matches the noises and disturbances enumerated
+above except when at least one CPU is isolated. Then housekeeping may
+make use of further coping mechanisms if CPU-tied work must be
+offloaded.
+
+Housekeeping CPUs are the non-isolated CPUs where the kernel noise
+is moved away from isolated CPUs.
+
+The isolation can be implemented in several ways depending on the
+nature of the noise:
+
+- Unbound work, where "unbound" means not tied to any CPU, can be
+ simply migrated away from isolated CPUs to housekeeping CPUs.
+ This is the case of unbound workqueues, kthreads and timers.
+
+- Bound work, where "bound" means tied to a specific CPU, usually
+ can't be moved away as-is by nature. Either:
+
+ - The work must switch to a locked implementation. E.g.:
+ This is the case of RCU with CONFIG_RCU_NOCB_CPU.
+
+ - The related feature must be shut down and considered
+ incompatible with isolated CPUs. E.g.: Lockup watchdog,
+ unreliable clocksources, etc...
+
+ - An elaborate and heavyweight coping mechanism stands as a
+ replacement. E.g.: the timer tick is shut down on nohz_full
+ CPUs but with the constraint of running a single task on
+ them. A significant cost penalty is added on kernel entry/exit
+ and a residual 1Hz scheduler tick is offloaded to housekeeping
+ CPUs.
+
+In any case, housekeeping work has to be handled, which is why there
+must be at least one housekeeping CPU in the system, preferably more
+if the machine runs a lot of CPUs. For example one per node on NUMA
+systems.
+
+Also CPU isolation often means a tradeoff between noise-free isolated
+CPUs and added overhead on housekeeping CPUs, sometimes even on
+isolated CPUs entering the kernel.
+
+Isolation features
+==================
+
+Different levels of isolation can be configured in the kernel, each of
+which has its own drawbacks and tradeoffs.
+
+Scheduler domain isolation
+--------------------------
+
+This feature isolates a CPU from the scheduler topology. As a result,
+the target isn't part of the load balancing. Tasks won't migrate
+either from or to it unless affined explicitly.
+
+As a side effect the CPU is also isolated from unbound workqueues and
+unbound kthreads.
+
+Requirements
+~~~~~~~~~~~~
+
+- CONFIG_CPUSETS=y for the cpusets-based interface
+
+Tradeoffs
+~~~~~~~~~
+
+By nature, the system load is overall less distributed since some CPUs
+are extracted from the global load balancing.
+
+Interfaces
+~~~~~~~~~~
+
+- Documentation/admin-guide/cgroup-v2.rst cpuset isolated partitions are recommended
+ because they are tunable at runtime.
+
+- The 'isolcpus=' kernel boot parameter with the 'domain' flag is a
+ less flexible alternative that doesn't allow for runtime
+ reconfiguration.
+
+IRQs isolation
+--------------
+
+Isolate the IRQs whenever possible, so that they don't fire on the
+target CPUs.
+
+Interfaces
+~~~~~~~~~~
+
+- The file /proc/irq/\*/smp_affinity as explained in detail in
+ Documentation/core-api/irq/irq-affinity.rst page.
+
+- The "irqaffinity=" kernel boot parameter for a default setting.
+
+- The "managed_irq" flag in the "isolcpus=" kernel boot parameter
+ tries a best effort affinity override for managed IRQs.
+
+Full Dynticks (aka nohz_full)
+-----------------------------
+
+Full dynticks extends the dynticks idle mode, which stops the tick when
+the CPU is idle, to CPUs running a single task in userspace. That is,
+the timer tick is stopped if the environment allows it.
+
+Global timer callbacks are also isolated from the nohz_full CPUs.
+
+Requirements
+~~~~~~~~~~~~
+
+- CONFIG_NO_HZ_FULL=y
+
+Constraints
+~~~~~~~~~~~
+
+- The isolated CPUs must run a single task only. Multitask requires
+ the tick to maintain preemption. This is usually fine since the
+ workload usually can't stand the latency of random context switches.
+
+- No call to the kernel from isolated CPUs, at the risk of triggering
+ random noise.
+
+- No use of POSIX CPU timers on isolated CPUs.
+
+- Architecture must have a stable and reliable clocksource (no
+ unreliable TSC that requires the watchdog).
+
+
+Tradeoffs
+~~~~~~~~~
+
+In terms of cost, this is the most invasive isolation feature. It is
+assumed to be used when the workload spends most of its time in
+userspace and doesn't rely on the kernel except for preparatory
+work because:
+
+- RCU adds more overhead due to the locked, offloaded and threaded
+ callbacks processing (the same that would be obtained with "rcu_nocbs"
+ boot parameter).
+
+- Kernel entry/exit through syscalls, exceptions and IRQs are more
+ costly due to fully ordered RmW operations that maintain userspace
+ as RCU extended quiescent state. Also the CPU time is accounted on
+ kernel boundaries instead of periodically from the tick.
+
+- Housekeeping CPUs must run a 1Hz residual remote scheduler tick
+ on behalf of the isolated CPUs.
+
+Checklist
+=========
+
+You have set up each of the above isolation features but you still
+observe jitters that trash your workload? Make sure to check a few
+elements before proceeding.
+
+Some of these checklist items are similar to those of real-time
+workloads:
+
+- Use mlock() to prevent your pages from being swapped away. Page
+ faults are usually not compatible with jitter sensitive workloads.
+
+- Avoid SMT to prevent your hardware thread from being "preempted"
+ by another one.
+
+- CPU frequency changes may induce subtle sorts of jitter in a
+ workload. Cpufreq should be used and tuned with caution.
+
+- Deep C-states may result in latency issues upon wake-up. If this
+ happens to be a problem, C-states can be limited via kernel boot
+ parameters such as processor.max_cstate or intel_idle.max_cstate.
+ More finegrained tunings are described in
+ Documentation/admin-guide/pm/cpuidle.rst page
+
+- Your system may be subject to firmware-originating interrupts - x86 has
+ System Management Interrupts (SMIs) for example. Check your system BIOS
+ to disable such interference, and with some luck your vendor will have
+ a BIOS tuning guidance for low-latency operations.
+
+
+Full isolation example
+======================
+
+In this example, the system has 8 CPUs and the 8th is to be fully
+isolated. Since CPUs start from 0, the 8th CPU is CPU 7.
+
+Kernel parameters
+-----------------
+
+Set the following kernel boot parameters to disable SMT and setup tick
+and IRQ isolation:
+
+- Full dynticks: nohz_full=7
+
+- IRQs isolation: irqaffinity=0-6
+
+- Managed IRQs isolation: isolcpus=managed_irq,7
+
+- Prevent SMT: nosmt
+
+The full command line is then:
+
+ nohz_full=7 irqaffinity=0-6 isolcpus=managed_irq,7 nosmt
+
+CPUSET configuration (cgroup v2)
+--------------------------------
+
+Assuming cgroup v2 is mounted to /sys/fs/cgroup, the following script
+isolates CPU 7 from scheduler domains.
+
+::
+
+ cd /sys/fs/cgroup
+ # Activate the cpuset subsystem
+ echo +cpuset > cgroup.subtree_control
+ # Create partition to be isolated
+ mkdir test
+ cd test
+ echo +cpuset > cgroup.subtree_control
+ # Isolate CPU 7
+ echo 7 > cpuset.cpus
+ echo "isolated" > cpuset.cpus.partition
+
+The userspace workload
+----------------------
+
+Fake a pure userspace workload, the program below runs a dummy
+userspace loop on the isolated CPU 7.
+
+::
+
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <errno.h>
+ int main(void)
+ {
+ // Move the current task to the isolated cpuset (bind to CPU 7)
+ int fd = open("/sys/fs/cgroup/test/cgroup.procs", O_WRONLY);
+ if (fd < 0) {
+ perror("Can't open cpuset file...\n");
+ return 0;
+ }
+
+ write(fd, "0\n", 2);
+ close(fd);
+
+ // Run an endless dummy loop until the launcher kills us
+ while (1)
+ ;
+
+ return 0;
+ }
+
+Build it and save for later step:
+
+::
+
+ # gcc user_loop.c -o user_loop
+
+The launcher
+------------
+
+The below launcher runs the above program for 10 seconds and traces
+the noise resulting from preempting tasks and IRQs.
+
+::
+
+ TRACING=/sys/kernel/tracing/
+ # Make sure tracing is off for now
+ echo 0 > $TRACING/tracing_on
+ # Flush previous traces
+ echo > $TRACING/trace
+ # Record disturbance from other tasks
+ echo 1 > $TRACING/events/sched/sched_switch/enable
+ # Record disturbance from interrupts
+ echo 1 > $TRACING/events/irq_vectors/enable
+ # Now we can start tracing
+ echo 1 > $TRACING/tracing_on
+ # Run the dummy user_loop for 10 seconds on CPU 7
+ ./user_loop &
+ USER_LOOP_PID=$!
+ sleep 10
+ kill $USER_LOOP_PID
+ # Disable tracing and save traces from CPU 7 in a file
+ echo 0 > $TRACING/tracing_on
+ cat $TRACING/per_cpu/cpu7/trace > trace.7
+
+If no specific problem arose, the output of trace.7 should look like
+the following:
+
+::
+
+ <idle>-0 [007] d..2. 1980.976624: sched_switch: prev_comm=swapper/7 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=user_loop next_pid=1553 next_prio=120
+ user_loop-1553 [007] d.h.. 1990.946593: reschedule_entry: vector=253
+ user_loop-1553 [007] d.h.. 1990.946593: reschedule_exit: vector=253
+
+That is, no specific noise triggered between the first trace and the
+second during 10 seconds when user_loop was running.
+
+Debugging
+=========
+
+Of course things are never so easy, especially on this matter.
+Chances are that actual noise will be observed in the aforementioned
+trace.7 file.
+
+The best way to investigate further is to enable finer grained
+tracepoints such as those of subsystems producing asynchronous
+events: workqueue, timer, irq_vector, etc... It also can be
+interesting to enable the tick_stop event to diagnose why the tick is
+retained when that happens.
+
+Some tools may also be useful for higher level analysis:
+
+- Documentation/tools/rtla/rtla.rst provides a suite of tools to analyze
+ latency and noise in the system. For example Documentation/tools/rtla/rtla-osnoise.rst
+ runs a kernel tracer that analyzes and output a summary of the noises.
+
+- dynticks-testing does something similar to rtla-osnoise but in userspace. It is available
+ at git://git.kernel.org/pub/scm/linux/kernel/git/frederic/dynticks-testing.git

Documentation/admin-guide/index.rst

View file
diff --git a/Documentation/admin-guide/index.rst b/Documentation/admin-guide/index.rst
index b734f8a..cd28dfe 100644
--- a/Documentation/admin-guide/index.rst
+++ b/Documentation/admin-guide/index.rst
@@ -94,6 +94,7 @@ likely to be of interest on almost any system.
cgroup-v2
cgroup-v1/index
+ cpu-isolation
cpu-load
mm/index
module-signing

Documentation/admin-guide/kernel-parameters.txt

View file
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 2075e7a..68460de 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -2630,15 +2630,11 @@ Kernel parameters
Intel machines). This can be used to prevent the usage
of an available hardware IOMMU.
- [X86]
pt
- [X86]
nopt
- [PPC/POWERNV]
- nobypass
+ nobypass [PPC/POWERNV]
Disable IOMMU bypass, using IOMMU for PCI devices.
- [X86]
AMD Gart HW IOMMU-specific options:
<size>
@@ -6761,7 +6757,7 @@ Kernel parameters
Default is 'on'.
initramfs_options= [KNL]
- Specify mount options for for the initramfs mount.
+ Specify mount options for the initramfs mount.
rootfstype= [KNL] Set root filesystem type

Documentation/admin-guide/pm/intel-speed-select.rst

View file
diff --git a/Documentation/admin-guide/pm/intel-speed-select.rst b/Documentation/admin-guide/pm/intel-speed-select.rst
index a2bfb97..dec2a25 100644
--- a/Documentation/admin-guide/pm/intel-speed-select.rst
+++ b/Documentation/admin-guide/pm/intel-speed-select.rst
@@ -287,7 +287,7 @@ level.
Check presence of other Intel(R) SST features
---------------------------------------------
-Each of the performance profiles also specifies weather there is support of
+Each of the performance profiles also specifies whether there is support of
other two Intel(R) SST features (Intel(R) Speed Select Technology - Base Frequency
(Intel(R) SST-BF) and Intel(R) Speed Select Technology - Turbo Frequency (Intel
SST-TF)).

Documentation/admin-guide/quickly-build-trimmed-linux.rst

View file
diff --git a/Documentation/admin-guide/quickly-build-trimmed-linux.rst b/Documentation/admin-guide/quickly-build-trimmed-linux.rst
index cb4b784..cb178e0 100644
--- a/Documentation/admin-guide/quickly-build-trimmed-linux.rst
+++ b/Documentation/admin-guide/quickly-build-trimmed-linux.rst
@@ -349,12 +349,14 @@ again.
.. _submit_improvements_qbtl:
-Did you run into trouble following any of the above steps that is not cleared up
-by the reference section below? Or do you have ideas how to improve the text?
-Then please take a moment of your time and let the maintainer of this document
-know by email (Thorsten Leemhuis <[email protected]>), ideally while CCing the
-Linux docs mailing list ([email protected]). Such feedback is vital to
-improve this document further, which is in everybody's interest, as it will
+Did you run into trouble following the step-by-step guide not cleared up by the
+reference section below? Did you spot errors? Or do you have ideas on how to
+improve the guide?
+
+If any of that applies, please let the developers know by sending a short note
+or a patch to Thorsten Leemhuis <[email protected]> while ideally CCing the
+public Linux docs mailing list <[email protected]>. Such feedback is
+vital to improve this text further, which is in everybody's interest, as it will
enable more people to master the task described here.
Reference section for the step-by-step guide

Documentation/admin-guide/reporting-issues.rst

View file
diff --git a/Documentation/admin-guide/reporting-issues.rst b/Documentation/admin-guide/reporting-issues.rst
index a68e6d9..16a66a1 100644
--- a/Documentation/admin-guide/reporting-issues.rst
+++ b/Documentation/admin-guide/reporting-issues.rst
@@ -48,6 +48,16 @@ Once the report is out, answer any questions that come up and help where you
can. That includes keeping the ball rolling by occasionally retesting with newer
releases and sending a status update afterwards.
+..
+ Note: If you see this note, you are reading the text's source file. You
+ might want to switch to a rendered version: It makes it a lot easier to
+ read and navigate this document -- especially when you want to look something
+ up in the reference section, then jump back to where you left off.
+..
+ Find the latest rendered version of this text here:
+ https://docs.kernel.org/admin-guide/reporting-issues.html
+
+
Step-by-step guide how to report issues to the kernel maintainers
=================================================================
@@ -231,45 +241,54 @@ kernels regularly rebased on those. If that is the case, follow these steps:
The reference section below explains each of these steps in more detail.
+Conclusion of the step-by-step guide
+------------------------------------
+
+Did you run into trouble following the step-by-step guide not cleared up by the
+reference section below? Did you spot errors? Or do you have ideas on how to
+improve the guide?
+
+If any of that applies, please let the developers know by sending a short note
+or a patch to Thorsten Leemhuis <[email protected]> while ideally CCing the
+public Linux docs mailing list <[email protected]>. Such feedback is
+vital to improve this text further, which is in everybody's interest, as it will
+enable more people to master the task described here.
+
+
Reference section: Reporting issues to the kernel maintainers
=============================================================
-The detailed guides above outline all the major steps in brief fashion, which
-should be enough for most people. But sometimes there are situations where even
-experienced users might wonder how to actually do one of those steps. That's
-what this section is for, as it will provide a lot more details on each of the
-above steps. Consider this as reference documentation: it's possible to read it
-from top to bottom. But it's mainly meant to skim over and a place to look up
-details how to actually perform those steps.
-
-A few words of general advice before digging into the details:
-
- * The Linux kernel developers are well aware this process is complicated and
- demands more than other FLOSS projects. We'd love to make it simpler. But
- that would require work in various places as well as some infrastructure,
- which would need constant maintenance; nobody has stepped up to do that
- work, so that's just how things are for now.
-
- * A warranty or support contract with some vendor doesn't entitle you to
- request fixes from developers in the upstream Linux kernel community: such
- contracts are completely outside the scope of the Linux kernel, its
- development community, and this document. That's why you can't demand
- anything such a contract guarantees in this context, not even if the
- developer handling the issue works for the vendor in question. If you want
- to claim your rights, use the vendor's support channel instead. When doing
- so, you might want to mention you'd like to see the issue fixed in the
- upstream Linux kernel; motivate them by saying it's the only way to ensure
- the fix in the end will get incorporated in all Linux distributions.
-
- * If you never reported an issue to a FLOSS project before you should consider
- reading `How to Report Bugs Effectively
- <https://www.chiark.greenend.org.uk/~sgtatham/bugs.html>`_, `How To Ask
- Questions The Smart Way
- <http://www.catb.org/esr/faqs/smart-questions.html>`_, and `How to ask good
- questions <https://jvns.ca/blog/good-questions/>`_.
-
-With that off the table, find below the details on how to properly report
-issues to the Linux kernel developers.
+The step-by-step guide above outlines all the major steps in brief fashion,
+which usually covers everything required. But even experienced users will
+sometimes wonder how to actually realize some of those steps or why they are
+needed; there are also corner cases the guide ignores for readability. That is
+what the entries in this reference section are for, which provide additional
+information for each of the steps in the guide.
+
+A few words of general advice:
+
+* The Linux developers are well aware that reporting bugs to them is more
+ complicated and demanding than in other FLOSS projects. Some of it is because
+ the kernel is different, among others due to its mail-driven development
+ process and because it consists mostly of drivers. Some of it is because
+ improving things would require work in several technical areas and people
+ triaging bugs –– and nobody has stepped up to do or fund that work.
+
+* A warranty or support contract with some vendor doesn't entitle you to
+ request fixes from the upstream Linux developers: Such contracts are
+ completely outside the scope of the upstream Linux kernel, its development
+ community, and this document -- even if those handling the issue work for the
+ vendor who issued the contract. If you want to claim your rights, use the
+ vendor's support channel.
+
+* If you never reported an issue to a FLOSS project before, consider skimming
+ guides like `How to ask good questions
+ <https://jvns.ca/blog/good-questions/>`_, `How To Ask Questions The Smart Way
+ <http://www.catb.org/esr/faqs/smart-questions.html>`_, and `How to Report
+ Bugs Effectively <https://www.chiark.greenend.org.uk/~sgtatham/bugs.html>`_,.
+
+With that off the table, find below details for the steps from the detailed
+guide on reporting issues to the Linux kernel developers.
Make sure you're using the upstream Linux kernel
@@ -1674,72 +1693,59 @@ for the subsystem where the issue seems to have its roots; CC the mailing list
for the subsystem as well as the stable mailing list ([email protected]).
-Why some issues won't get any reaction or remain unfixed after being reported
-=============================================================================
-
-When reporting a problem to the Linux developers, be aware only 'issues of high
-priority' (regressions, security issues, severe problems) are definitely going
-to get resolved. The maintainers or if all else fails Linus Torvalds himself
-will make sure of that. They and the other kernel developers will fix a lot of
-other issues as well. But be aware that sometimes they can't or won't help; and
-sometimes there isn't even anyone to send a report to.
-
-This is best explained with kernel developers that contribute to the Linux
-kernel in their spare time. Quite a few of the drivers in the kernel were
-written by such programmers, often because they simply wanted to make their
-hardware usable on their favorite operating system.
-
-These programmers most of the time will happily fix problems other people
-report. But nobody can force them to do, as they are contributing voluntarily.
-
-Then there are situations where such developers really want to fix an issue,
-but can't: sometimes they lack hardware programming documentation to do so.
-This often happens when the publicly available docs are superficial or the
-driver was written with the help of reverse engineering.
-
-Sooner or later spare time developers will also stop caring for the driver.
-Maybe their test hardware broke, got replaced by something more fancy, or is so
-old that it's something you don't find much outside of computer museums
-anymore. Sometimes developer stops caring for their code and Linux at all, as
-something different in their life became way more important. In some cases

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/sysctl/crypto.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/sysctl/debug.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/sysctl/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/sysctl/xen.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/tainted-kernels.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/admin-guide/verify-bugs-and-bisect-regressions.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/conf.py

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/housekeeping.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/irq/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/irq/managed_irq.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/memory-hotplug.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/printk-basics.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/real-time/architecture-porting.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/core-api/real-time/differences.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/dev-tools/coccinelle.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/doc-guide/kernel-doc.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/acpi/acpi-drivers.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/cxl/platform/acpi/cedt.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/cxl/platform/bios-and-efi.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/dmaengine/pxa_dma.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/early-userspace/early_userspace_support.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/interconnect.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/libata.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/media/drivers/zoran.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/driver-api/pci/p2pdma.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/features/perf/perf-regs/arch-support.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/features/perf/perf-stackdump/arch-support.txt

View file

This diff is incomplete. Download the complete patch.

Documentation/filesystems/path-lookup.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/filesystems/proc.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/filesystems/seq_file.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/hid/intel-ish-hid.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/hwpoison.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/numa.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/2.Process.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/backporting.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/changes.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/debugging/gdb-kernel-debugging.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/handling-regressions.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/maintainer-handbooks.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/maintainer-tip.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/process/submitting-patches.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/scheduler/sched-deadline.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/scheduler/sched-design-CFS.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/sphinx-static/custom.css

View file

This diff is incomplete. Download the complete patch.

Documentation/sphinx/translations.py

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/kdoc_ancillary.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/kdoc_parser.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/python.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-hwnoise.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-osnoise-hist.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-osnoise-top.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-osnoise.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-timerlat-hist.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-timerlat-top.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla-timerlat.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/rtla/rtla.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/tools/unittest.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/trace/histogram-design.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/it_IT/process/4.Coding.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/ja_JP/process/submitting-patches.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/disclaimer-pt_BR.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/1.Intro.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/changes.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/conclave.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/howto.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/maintainer-handbooks.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/maintainer-kvm-x86.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/maintainer-netdev.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/maintainer-soc-clean-dts.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/pt_BR/process/maintainer-soc.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/sp_SP/process/4.Coding.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/sp_SP/process/submitting-patches.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/sp_SP/scheduler/sched-design-CFS.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/dev-tools/testing-overview.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/process/2.Process.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/process/4.Coding.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/rust/arch-support.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/rust/coding-guidelines.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/rust/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/rust/quick-start.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_CN/scheduler/sched-design-CFS.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_TW/admin-guide/README.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/translations/zh_TW/process/4.Coding.rst

View file

This diff is incomplete. Download the complete patch.

MAINTAINERS

View file

This diff is incomplete. Download the complete patch.

scripts/ver_linux

View file

This diff is incomplete. Download the complete patch.

tools/docs/checktransupdate.py

View file

This diff is incomplete. Download the complete patch.

tools/docs/kdoc_diff

View file

This diff is incomplete. Download the complete patch.

tools/docs/kernel-doc

View file

This diff is incomplete. Download the complete patch.

tools/docs/sphinx-build-wrapper

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/jobserver.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/c_lex.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_files.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_item.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_output.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_parser.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_re.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/kdoc_yaml_file.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/kdoc/xforms_lists.py

View file

This diff is incomplete. Download the complete patch.

tools/lib/python/unittest_helper.py

View file

This diff is incomplete. Download the complete patch.

tools/unittests/kdoc-test-schema.yaml

View file

This diff is incomplete. Download the complete patch.

tools/unittests/kdoc-test.yaml

View file

This diff is incomplete. Download the complete patch.

tools/unittests/run.py

View file

This diff is incomplete. Download the complete patch.

tools/unittests/test_cmatch.py

View file

This diff is incomplete. Download the complete patch.

tools/unittests/test_kdoc_parser.py

View file

This diff is incomplete. Download the complete patch.

tools/unittests/test_kdoc_test_schema.py

View file

This diff is incomplete. Download the complete patch.

tools/unittests/test_tokenizer.py

View file

This diff is incomplete. Download the complete patch.