<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/Documentation/kernel-hacking, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>Documentation: adopt new coding style of type-aware kmalloc-family</title>
<updated>2026-05-03T14:54:21+00:00</updated>
<author>
<name>Manuel Ebner</name>
<email>manuelebner@mailbox.org</email>
</author>
<published>2026-04-29T07:14:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7c6d969d5349c40348276d5c301b2d200afa623d'/>
<id>7c6d969d5349c40348276d5c301b2d200afa623d</id>
<content type='text'>
Update the documentation to reflect new type-aware kmalloc-family as
suggested in commit 2932ba8d9c99 ("slab: Introduce kmalloc_obj()
and family")

ptr = kmalloc(sizeof(*ptr), gfp);
 -&gt; ptr = kmalloc_obj(*ptr, gfp);
ptr = kmalloc(sizeof(struct some_obj_name), gfp);
 -&gt; ptr = kmalloc_obj(*ptr, gfp);
ptr = kzalloc(sizeof(*ptr), gfp);
 -&gt; ptr = kzalloc_obj(*ptr, gfp);
ptr = kmalloc_array(count, sizeof(*ptr), gfp);
 -&gt; ptr = kmalloc_objs(*ptr, count, gfp);
ptr = kcalloc(count, sizeof(*ptr), gfp);
 -&gt; ptr = kzalloc_objs(*ptr, count, gfp);

Signed-off-by: Manuel Ebner &lt;manuelebner@mailbox.org&gt;
Acked-by: SeongJae Park &lt;sj@kernel.org&gt;
Acked-by: Vlastimil Babka (SUSE) &lt;vbabka@kernel.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260429071445.309733-2-manuelebner@mailbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update the documentation to reflect new type-aware kmalloc-family as
suggested in commit 2932ba8d9c99 ("slab: Introduce kmalloc_obj()
and family")

ptr = kmalloc(sizeof(*ptr), gfp);
 -&gt; ptr = kmalloc_obj(*ptr, gfp);
ptr = kmalloc(sizeof(struct some_obj_name), gfp);
 -&gt; ptr = kmalloc_obj(*ptr, gfp);
ptr = kzalloc(sizeof(*ptr), gfp);
 -&gt; ptr = kzalloc_obj(*ptr, gfp);
ptr = kmalloc_array(count, sizeof(*ptr), gfp);
 -&gt; ptr = kmalloc_objs(*ptr, count, gfp);
ptr = kcalloc(count, sizeof(*ptr), gfp);
 -&gt; ptr = kzalloc_objs(*ptr, count, gfp);

Signed-off-by: Manuel Ebner &lt;manuelebner@mailbox.org&gt;
Acked-by: SeongJae Park &lt;sj@kernel.org&gt;
Acked-by: Vlastimil Babka (SUSE) &lt;vbabka@kernel.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260429071445.309733-2-manuelebner@mailbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: kernel-hacking: Remove :c:func: annotations</title>
<updated>2026-01-06T22:15:15+00:00</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2025-12-22T23:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=736ea8102637cecca85c05550d7d1c71c8a61ba0'/>
<id>736ea8102637cecca85c05550d7d1c71c8a61ba0</id>
<content type='text'>
Remove the useless :c:func: annotations.

Suggested-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251222232506.2615-2-thorsten.blum@linux.dev&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the useless :c:func: annotations.

Suggested-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251222232506.2615-2-thorsten.blum@linux.dev&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: kernel-hacking: Convert internal links</title>
<updated>2026-01-06T22:08:43+00:00</updated>
<author>
<name>Bagas Sanjaya</name>
<email>bagasdotme@gmail.com</email>
</author>
<published>2025-12-23T03:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bb51cf4f6179cb67b8a9daa201a7a8e23d6f5754'/>
<id>bb51cf4f6179cb67b8a9daa201a7a8e23d6f5754</id>
<content type='text'>
Convert internal cross-references in "Putting Your Stuff in the kernel"
section from inline code to internal links.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-4-bagasdotme@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert internal cross-references in "Putting Your Stuff in the kernel"
section from inline code to internal links.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-4-bagasdotme@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: kernel-hacking: Do not italicize EXPORT_SYMBOL{,_GPL}() references</title>
<updated>2026-01-06T22:08:43+00:00</updated>
<author>
<name>Bagas Sanjaya</name>
<email>bagasdotme@gmail.com</email>
</author>
<published>2025-12-23T03:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2b79aafb1705cd9d3b4057b4066f4082b674784f'/>
<id>2b79aafb1705cd9d3b4057b4066f4082b674784f</id>
<content type='text'>
Do not italicize EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL() references in
EXPORT_SYMBOL_NS() and EXPORT_SYMBOL_NS_GPL() subsections.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-3-bagasdotme@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not italicize EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL() references in
EXPORT_SYMBOL_NS() and EXPORT_SYMBOL_NS_GPL() subsections.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-3-bagasdotme@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: kernel-hacking: Remove current macro annotation</title>
<updated>2026-01-06T22:08:43+00:00</updated>
<author>
<name>Bagas Sanjaya</name>
<email>bagasdotme@gmail.com</email>
</author>
<published>2025-12-23T03:52:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b47e2b93aa31ca803d8088e5fcd33ca05a003926'/>
<id>b47e2b93aa31ca803d8088e5fcd33ca05a003926</id>
<content type='text'>
Remove unneeded :c:macro: annotation of current macro.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-2-bagasdotme@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove unneeded :c:macro: annotation of current macro.

Signed-off-by: Bagas Sanjaya &lt;bagasdotme@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251223035254.22894-2-bagasdotme@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: kernel-hacking: Remove comma</title>
<updated>2025-12-22T21:40:24+00:00</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2025-12-19T17:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=82e87387f6e2af9f69a7528733e953fd22e815aa'/>
<id>82e87387f6e2af9f69a7528733e953fd22e815aa</id>
<content type='text'>
The comma is wrong, remove it.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Acked-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251219171827.44015-2-thorsten.blum@linux.dev&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The comma is wrong, remove it.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Acked-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251219171827.44015-2-thorsten.blum@linux.dev&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs/licensing: Clarify wording about "GPL" and "Proprietary"</title>
<updated>2024-11-22T17:44:25+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>ukleinek@kernel.org</email>
</author>
<published>2024-11-15T10:38:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d8c949c577b5adb9fb87923b5429767aae4be590'/>
<id>d8c949c577b5adb9fb87923b5429767aae4be590</id>
<content type='text'>
There are currently some doubts about out-of-tree kernel modules licensed
under GPLv3 and if they are supposed to be able to use symbols exported
using EXPORT_SYMBOL_GPL.

Clarify that "Proprietary" means anything non-GPL2 even though the
license might be an open source license. Also disambiguate "GPL
compatible" to "GPLv2 compatible".

Signed-off-by: Uwe Kleine-König &lt;ukleinek@kernel.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Link: https://lore.kernel.org/r/20241115103842.585207-2-ukleinek@kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are currently some doubts about out-of-tree kernel modules licensed
under GPLv3 and if they are supposed to be able to use symbols exported
using EXPORT_SYMBOL_GPL.

Clarify that "Proprietary" means anything non-GPL2 even though the
license might be an open source license. Also disambiguate "GPL
compatible" to "GPLv2 compatible".

Signed-off-by: Uwe Kleine-König &lt;ukleinek@kernel.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Link: https://lore.kernel.org/r/20241115103842.585207-2-ukleinek@kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>fix grammar on false-sharing.rst</title>
<updated>2024-10-14T19:22:17+00:00</updated>
<author>
<name>Vishnu Sanal T</name>
<email>t.v.s10123@gmail.com</email>
</author>
<published>2024-10-07T19:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=878b56e011af224386464c79e3b1b1a73342d847'/>
<id>878b56e011af224386464c79e3b1b1a73342d847</id>
<content type='text'>
Fix slight grammar mistake on kernel-hacking/false-sharing.rst

Signed-off-by: Vishnu Sanal T &lt;t.v.s10123@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Link: https://lore.kernel.org/r/20241007191253.112697-2-t.v.s10123@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix slight grammar mistake on kernel-hacking/false-sharing.rst

Signed-off-by: Vishnu Sanal T &lt;t.v.s10123@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Link: https://lore.kernel.org/r/20241007191253.112697-2-t.v.s10123@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation: Add document for false sharing</title>
<updated>2023-04-10T22:46:11+00:00</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@intel.com</email>
</author>
<published>2023-04-07T04:12:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=911ac7979dde0ca31fdfcc4fbd27d2fa3f2bf376'/>
<id>911ac7979dde0ca31fdfcc4fbd27d2fa3f2bf376</id>
<content type='text'>
When doing performance tuning or debugging performance regressions,
more and more cases are found to be related to false sharing [1][2][3],
and the situation can be worse for newer platforms with hundreds of
CPUs. There are already many commits in current kernel specially
for mitigating the performance degradation due to false sharing.

False sharing could harm the performance silently without being
noticed, due to reasons like:
* data members of a big data structure randomly sitting together
  in one cache line
* global data of small size are linked compactly together

So it's better to make a simple document about the normal pattern
of false sharing, basic ways to mitigate it and call out to
developers to pay attention during code-writing.

[ Many thanks to Dave Hansen, Ying Huang, Tim Chen, Julie Du and
  Yu Chen for their contributions ]

[1]. https://lore.kernel.org/lkml/20220619150456.GB34471@xsang-OptiPlex-9020/
[2]. https://lore.kernel.org/lkml/20201102091543.GM31092@shao2-debian/
[3]. https://lore.kernel.org/lkml/20230307125538.818862491@linutronix.de/

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Reviewed-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reviewed-by: Shakeel Butt &lt;shakeelb@google.com&gt;
Link: https://lore.kernel.org/r/20230407041235.37886-1-feng.tang@intel.com
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When doing performance tuning or debugging performance regressions,
more and more cases are found to be related to false sharing [1][2][3],
and the situation can be worse for newer platforms with hundreds of
CPUs. There are already many commits in current kernel specially
for mitigating the performance degradation due to false sharing.

False sharing could harm the performance silently without being
noticed, due to reasons like:
* data members of a big data structure randomly sitting together
  in one cache line
* global data of small size are linked compactly together

So it's better to make a simple document about the normal pattern
of false sharing, basic ways to mitigate it and call out to
developers to pay attention during code-writing.

[ Many thanks to Dave Hansen, Ying Huang, Tim Chen, Julie Du and
  Yu Chen for their contributions ]

[1]. https://lore.kernel.org/lkml/20220619150456.GB34471@xsang-OptiPlex-9020/
[2]. https://lore.kernel.org/lkml/20201102091543.GM31092@shao2-debian/
[3]. https://lore.kernel.org/lkml/20230307125538.818862491@linutronix.de/

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Reviewed-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reviewed-by: Shakeel Butt &lt;shakeelb@google.com&gt;
Link: https://lore.kernel.org/r/20230407041235.37886-1-feng.tang@intel.com
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: locking: Discourage from calling disable_irq() in atomic</title>
<updated>2023-01-11T18:45:26+00:00</updated>
<author>
<name>Alexander Sverdlin</name>
<email>alexander.sverdlin@siemens.com</email>
</author>
<published>2022-12-12T16:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=379af13b31fa8a36ad4abd59a5c511f25c5d4d42'/>
<id>379af13b31fa8a36ad4abd59a5c511f25c5d4d42</id>
<content type='text'>
Correct the example in the documentation so that disable_irq() is not being
called in atomic context.

disable_irq() calls sleeping synchronize_irq(), it's not allowed to call
them in atomic context.

Signed-off-by: Alexander Sverdlin &lt;alexander.sverdlin@siemens.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Cc: linux-doc@vger.kernel.org
Link: https://lore.kernel.org/lkml/87k02wbs2n.ffs@tglx/
Link: https://lore.kernel.org/r/20221212163715.830315-1-alexander.sverdlin@siemens.com

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct the example in the documentation so that disable_irq() is not being
called in atomic context.

disable_irq() calls sleeping synchronize_irq(), it's not allowed to call
them in atomic context.

Signed-off-by: Alexander Sverdlin &lt;alexander.sverdlin@siemens.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Cc: linux-doc@vger.kernel.org
Link: https://lore.kernel.org/lkml/87k02wbs2n.ffs@tglx/
Link: https://lore.kernel.org/r/20221212163715.830315-1-alexander.sverdlin@siemens.com

</pre>
</div>
</content>
</entry>
</feed>
