<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/next/linux-next.git/Documentation/admin-guide/sysctl/kernel.rst, branch master</title>
<subtitle>The linux-next integration testing tree</subtitle>
<id>https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master</id>
<link rel='self' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/'/>
<updated>2026-09-09T12:03:00+00:00</updated>
<entry>
<title>Merge branch 'docs-next' of git://git.lwn.net/linux.git</title>
<updated>2026-09-09T12:03:00+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-09T12:03:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7e77a9ec7317171afa4f305e8ea7d63145449244'/>
<id>urn:sha1:7e77a9ec7317171afa4f305e8ea7d63145449244</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hung_task: reset warning budget when problem gets resolved</title>
<updated>2026-09-09T06:32:08+00:00</updated>
<author>
<name>Aaron Tomlin</name>
<email>atomlin@atomlin.com</email>
</author>
<published>2026-08-29T14:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=236aa3cf934a37c8df565ee68849798783392426'/>
<id>urn:sha1:236aa3cf934a37c8df565ee68849798783392426</id>
<content type='text'>
Patch series "hung_task: Improve warning budget handling and task
reporting", v10.

The hung_task watchdog detects tasks stuck in TASK_UNINTERRUPTIBLE (D)
state for longer than CONFIG_DEFAULT_HUNG_TASK_TIMEOUT seconds.  To
prevent log spam during system spikes, sysctl_hung_task_warnings enforces
a budget on the number of logged warnings.

However, the current implementation has two major limitations:

    1. Permanent exhaustion of warning budget

       sysctl_hung_task_warnings is decremented directly when
       printing warnings.  Once this budget hits zero, no further warnings
       are reported until an administrator manually updates the sysctl
       value or reboots the system.  Consequently, a single temporary hang
       episode permanently blinds the kernel watchdog to any subsequent
       hung tasks after system recovery.

    2. Total log suppression when budget is exhausted

       Once the warning budget reaches zero, hung_task_info()
       completely suppresses all output, including the basic single-line
       alert.  While suppressing verbose stack dumps and lock debugging is
       desirable to prevent dmesg flooding, hiding basic task alerts
       leaves administrators entirely unaware that tasks are hanging.

This patch series resolves both limitations by decoupling the configured
warning limit from the active runtime budget, automatically resetting the
budget upon system recovery or sysctl updates, and emitting a single
aggregate summary line when hung tasks are detected under an exhausted
warning budget.

Patch 1 separates the configured sysctl hung_task_warnings from the
runtime budget, making khungtaskd the sole owner of runtime budget
updates.  The budget is reloaded directly when a scan finds zero hung
tasks, or via an atomic reset request published on sysctl write.

Patch 2 prevents dmesg flooding during system-wide hangs by keeping
non-panic per-task stack dumps budgeted, while providing ongoing
visibility by logging a single aggregate summary line at the end of each
scan iteration when the warning budget is exhausted.


This patch (of 2):

The sysctl hung_task_warnings currently holds both the configured warning
limit and the remaining budget.  Each detailed report decrements the
sysctl, so once it reaches zero, the configured limit is lost and cannot
be restored automatically.

Keep sysctl_hung_task_warnings as the configured warning limit and make
khungtaskd the sole owner of the remaining budget.  A check that finds no
hung tasks reloads the budget directly from the configured limit.  A
successful sysctl write publishes an atomic reset request, which
khungtaskd consumes at the start of the next check.

Link: https://lore.kernel.org/20260829145321.18423-1-atomlin@atomlin.com
Link: https://lore.kernel.org/20260829145321.18423-2-atomlin@atomlin.com
Signed-off-by: Aaron Tomlin &lt;atomlin@atomlin.com&gt;
Suggested-by: Petr Mladek &lt;pmladek@suse.com&gt;
Suggested-by: Lance Yang &lt;lance.yang@linux.dev&gt;
Tested-by: Lance Yang &lt;lance.yang@linux.dev&gt;
Reviewed-by: Lance Yang &lt;lance.yang@linux.dev&gt;
Reviewed-by: Bradley Morgan &lt;brads@mainlining.org&gt;
Cc: David Laight &lt;david.laight.linux@gmail.com&gt;
Cc: "Masami Hiramatsu (Google)" &lt;mhiramat@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>docs: sysctl: Remove obsolete sg-big-buff entry</title>
<updated>2026-09-07T16:37:01+00:00</updated>
<author>
<name>Karl Mehltretter</name>
<email>kmehltretter@gmail.com</email>
</author>
<published>2026-09-05T01:09:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a237dcf774c53a319fd2ecc3d85a8d88d408f660'/>
<id>urn:sha1:a237dcf774c53a319fd2ecc3d85a8d88d408f660</id>
<content type='text'>
The sg-big-buff sysctl no longer exists. The documented SG_BIG_BUFF
macro is only a compatibility alias and changing it does not alter the
driver default.

Fixes: 50209dec14f8 ("scsi: sg: Remove deprecated sg-big-buff")
Assisted-by: LLM
Signed-off-by: Karl Mehltretter &lt;kmehltretter@gmail.com&gt;
Reviewed-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reviewed-by: Bradley Morgan &lt;brads@mainlining.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260905010952.57451-1-kmehltretter@gmail.com&gt;
</content>
</entry>
<entry>
<title>docs: sysctl: timer_migration is for hrtimer only</title>
<updated>2026-08-31T21:45:05+00:00</updated>
<author>
<name>Costa Shulyupin</name>
<email>costa.shul@redhat.com</email>
</author>
<published>2026-08-26T13:29:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ab2704c2a884028fd12d455cf27a9585aefe2961'/>
<id>urn:sha1:ab2704c2a884028fd12d455cf27a9585aefe2961</id>
<content type='text'>
Since commit b2cf7507e1864 ("timers: Always queue timers on the local
CPU") __mod_timer() no longer depends on timers_migration_enabled.  Only
high-resolution timer migration from isolated to housekeeping CPUs
depends on it.

Update and clarify the documentation accordingly.

Signed-off-by: Costa Shulyupin &lt;costa.shul@redhat.com&gt;
Reviewed-by: Bradley Morgan &lt;brads@mainlining.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260826132921.294142-1-costa.shul@redhat.com&gt;
</content>
</entry>
<entry>
<title>syscall_user_dispatch: Add kernel.syscall_user_dispatch sysctl</title>
<updated>2026-07-08T08:22:00+00:00</updated>
<author>
<name>Gregory Price</name>
<email>gourry@gourry.net</email>
</author>
<published>2026-07-06T14:00:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5b6e32ba7b5967a2787fafaa9f4740c590e1e00b'/>
<id>urn:sha1:5b6e32ba7b5967a2787fafaa9f4740c590e1e00b</id>
<content type='text'>
Add a matching sysctl to go with CONFIG_SYSCALL_USER_DISPATCH.

kernel.syscall_user_dispatch (default 1 - allow) controls whether
userspace may arm syscall user dispatch (both via prctl and ptrace).

Disarming is always permitted - same semantics as comparable knobs.

Disabling while a task has armed syscall user dispatch does not
cause it to become inactive - instead it remains active until the
user attempts to disable/re-enable via prctl or ptrace.  On the
next attempt to re-enable, the prctl/ptrace call fails gracefully.

The alternative would cause programs translating non-linux syscalls
to interpret those syscalls as linux syscalls, resulting in undefined
userland behavior.

Signed-off-by: Gregory Price &lt;gourry@gourry.net&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260706140020.873735-3-gourry@gourry.net
</content>
</entry>
<entry>
<title>hung_task: enable runtime reset of hung_task_detect_count</title>
<updated>2026-03-28T04:19:40+00:00</updated>
<author>
<name>Aaron Tomlin</name>
<email>atomlin@atomlin.com</email>
</author>
<published>2026-03-03T20:30:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=49085e1b70f898695b63594ff559f5a243589b83'/>
<id>urn:sha1:49085e1b70f898695b63594ff559f5a243589b83</id>
<content type='text'>
Currently, the hung_task_detect_count sysctl provides a cumulative count
of hung tasks since boot.  In long-running, high-availability
environments, this counter may lose its utility if it cannot be reset once
an incident has been resolved.  Furthermore, the previous implementation
relied upon implicit ordering, which could not strictly guarantee that
diagnostic metadata published by one CPU was visible to the panic logic on
another.

This patch introduces the capability to reset the detection count by
writing "0" to the hung_task_detect_count sysctl.  The proc_handler logic
has been updated to validate this input and atomically reset the counter.

The synchronisation of sysctl_hung_task_detect_count relies upon a
transactional model to ensure the integrity of the detection counter
against concurrent resets from userspace.  The application of
atomic_long_read_acquire() and atomic_long_cmpxchg_release() is correct
and provides the following guarantees:

    1. Prevention of Load-Store Reordering via Acquire Semantics By
       utilising atomic_long_read_acquire() to snapshot the counter
       before initiating the task traversal, we establish a strict
       memory barrier. This prevents the compiler or hardware from
       reordering the initial load to a point later in the scan. Without
       this "acquire" barrier, a delayed load could potentially read a
       "0" value resulting from a userspace reset that occurred
       mid-scan. This would lead to the subsequent cmpxchg succeeding
       erroneously, thereby overwriting the user's reset with stale
       increment data.

    2. Atomicity of the "Commit" Phase via Release Semantics The
       atomic_long_cmpxchg_release() serves as the transaction's commit
       point. The "release" barrier ensures that all diagnostic
       recordings and task-state observations made during the scan are
       globally visible before the counter is incremented.

    3. Race Condition Resolution This pairing effectively detects any
       "out-of-band" reset of the counter. If
       sysctl_hung_task_detect_count is modified via the procfs
       interface during the scan, the final cmpxchg will detect the
       discrepancy between the current value and the "acquire" snapshot.
       Consequently, the update will fail, ensuring that a reset command
       from the administrator is prioritised over a scan that may have
       been invalidated by that very reset.

Link: https://lkml.kernel.org/r/20260303203031.4097316-3-atomlin@atomlin.com
Signed-off-by: Aaron Tomlin &lt;atomlin@atomlin.com&gt;
Reviewed-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;
Reviewed-by: Joel Granados &lt;joel.granados@kernel.org&gt;
Reviewed-by: Petr Mladek &lt;pmladek@suse.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Lance Yang &lt;lance.yang@linux.dev&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'docs-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux</title>
<updated>2026-02-10T04:53:18+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-02-10T04:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=72c395024dac5e215136cbff793455f065603b06'/>
<id>urn:sha1:72c395024dac5e215136cbff793455f065603b06</id>
<content type='text'>
Pull documentation updates from Jonathan Corbet:
 "A slightly calmer cycle for docs this time around, though there is
  still a fair amount going on, including:

   - Some signs of life on the long-moribund Japanese translation

   - Documentation on policies around the use of generative tools for
     patch submissions, and a separate document intended for consumption
     by generative tools

   - The completion of the move of the documentation tools to
     tools/docs. For now we're leaving a /scripts/kernel-doc symlink
     behind to avoid breaking scripts

   - Ongoing build-system work includes the incorporation of
     documentation in Python code, better support for documenting
     variables, and lots of improvements and fixes

   - Automatic linking of man-page references -- cat(1), for example --
     to the online pages in the HTML build

  ...and the usual array of typo fixes and such"

* tag 'docs-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux: (107 commits)
  doc: development-process: add notice on testing
  tools: sphinx-build-wrapper: improve its help message
  docs: sphinx-build-wrapper: allow -v override -q
  docs: kdoc: Fix pdfdocs build for tools
  docs: ja_JP: process: translate 'Obtain a current source tree'
  docs: fix 're-use' -&gt; 'reuse' in documentation
  docs: ioctl-number: fix a typo in ioctl-number.rst
  docs: filesystems: ensure proc pid substitutable is complete
  docs: automarkup.py: Skip common English words as C identifiers
  Documentation: use a source-read extension for the index link boilerplate
  docs: parse_features: make documentation more consistent
  docs: add parse_features module documentation
  docs: jobserver: do some documentation improvements
  docs: add jobserver module documentation
  docs: kabi: helpers: add documentation for each "enum" value
  docs: kabi: helpers: add helper for debug bits 7 and 8
  docs: kabi: system_symbols: end docstring phrases with a dot
  docs: python: abi_regex: do some improvements at documentation
  docs: python: abi_parser: do some improvements at documentation
  docs: add kabi modules documentation
  ...
</content>
</entry>
<entry>
<title>docs: make kptr_restrict and hash_pointers reference each other</title>
<updated>2026-01-16T18:31:58+00:00</updated>
<author>
<name>Marc Herbert</name>
<email>marc.herbert@linux.intel.com</email>
</author>
<published>2026-01-07T20:21:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d9d25684e98d45322a9b7ff44beb4275ffdf1d74'/>
<id>urn:sha1:d9d25684e98d45322a9b7ff44beb4275ffdf1d74</id>
<content type='text'>
vsprintf.c uses a mix of the `kernel.kptr_restrict` sysctl and the
`hash_pointers` boot param to control pointer hashing. But that wasn't
possible to tell without looking at the source code.

They have a different focus and purpose. To avoid wasting the time of
users trying to use one instead of the other, simply have them reference
each other in the Documentation.

Signed-off-by: Marc Herbert &lt;marc.herbert@linux.intel.com&gt;
Acked-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260107-doc-hash-ptr-v2-1-cb4c161218d7@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>init: remove /proc/sys/kernel/real-root-dev</title>
<updated>2026-01-12T16:22:27+00:00</updated>
<author>
<name>Askar Safin</name>
<email>safinaskar@gmail.com</email>
</author>
<published>2025-11-19T22:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=e6ce36ccc86f6d447808a6e620f56d440d74aa19'/>
<id>urn:sha1:e6ce36ccc86f6d447808a6e620f56d440d74aa19</id>
<content type='text'>
It is not used anymore.

Signed-off-by: Askar Safin &lt;safinaskar@gmail.com&gt;
Link: https://patch.msgid.link/20251119222407.3333257-4-safinaskar@gmail.com
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;
</content>
</entry>
<entry>
<title>sys_info: add a default kernel sys_info mask</title>
<updated>2025-11-20T22:03:43+00:00</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@linux.alibaba.com</email>
</author>
<published>2025-11-13T11:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=03ef32d665e8a23d7ce5965b8b035666cfb47866'/>
<id>urn:sha1:03ef32d665e8a23d7ce5965b8b035666cfb47866</id>
<content type='text'>
Which serves as a global default sys_info mask.  When users want the same
system information for many error cases (panic, hung, lockup ...), they
can chose to set this global knob only once, while not setting up each
individual sys_info knobs.

This just adds a 'lazy' option, and doesn't change existing kernel
behavior as the mask is 0 by default.

Link: https://lkml.kernel.org/r/20251113111039.22701-5-feng.tang@linux.alibaba.com
Suggested-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Feng Tang &lt;feng.tang@linux.alibaba.com&gt;
Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;
Cc: Lance Yang &lt;ioworker0@gmail.com&gt;
Cc: "Paul E . McKenney" &lt;paulmck@kernel.org&gt;
Cc: Petr Mladek &lt;pmladek@suse.com&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
</feed>
