<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/include/linux/hrtimer_defs.h, branch docs-next</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-next</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-next'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2026-03-12T11:15:55+00:00</updated>
<entry>
<title>hrtimer: Remove trailing comma after HRTIMER_MAX_CLOCK_BASES</title>
<updated>2026-03-12T11:15:55+00:00</updated>
<author>
<name>Thomas Weißschuh (Schneider Electric)</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-03-11T10:15:20+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f27fc117cf8fba56e0619694e685f9bca9b9cb82'/>
<id>urn:sha1:f27fc117cf8fba56e0619694e685f9bca9b9cb82</id>
<content type='text'>
HRTIMER_MAX_CLOCK_BASES is required to stay the last value of the enum.

Drop the trailing comma so no new members are added after it by mistake.

Signed-off-by: Thomas Weißschuh (Schneider Electric) &lt;thomas.weissschuh@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260311-hrtimer-cleanups-v1-11-095357392669@linutronix.de
</content>
</entry>
<entry>
<title>hrtimer: Mark index and clockid of clock base as const</title>
<updated>2026-03-12T11:15:55+00:00</updated>
<author>
<name>Thomas Weißschuh (Schneider Electric)</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-03-11T10:15:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f12ef5cb4e035e15f0c324c41ff402441578ffda'/>
<id>urn:sha1:f12ef5cb4e035e15f0c324c41ff402441578ffda</id>
<content type='text'>
These fields are initialized once and are never supposed to change.

Mark them as const to make this explicit.

Signed-off-by: Thomas Weißschuh (Schneider Electric) &lt;thomas.weissschuh@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260311-hrtimer-cleanups-v1-10-095357392669@linutronix.de
</content>
</entry>
<entry>
<title>hrtimer: Drop spurious space in 'enum hrtimer_base_type'</title>
<updated>2026-03-12T11:15:55+00:00</updated>
<author>
<name>Thomas Weißschuh (Schneider Electric)</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-03-11T10:15:17+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b94c076dd949426d09e5d415304acb3f951d9069'/>
<id>urn:sha1:b94c076dd949426d09e5d415304acb3f951d9069</id>
<content type='text'>
This spurious space makes grepping for the enum definition annoying.

Remove it.

Signed-off-by: Thomas Weißschuh (Schneider Electric) &lt;thomas.weissschuh@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260311-hrtimer-cleanups-v1-8-095357392669@linutronix.de
</content>
</entry>
<entry>
<title>hrtimer: Use linked timerqueue</title>
<updated>2026-02-27T15:40:16+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-02-24T16:38:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b7418e6e9b87b849af4df93d527ff83498d1e4c3'/>
<id>urn:sha1:b7418e6e9b87b849af4df93d527ff83498d1e4c3</id>
<content type='text'>
To prepare for optimizing the rearming of enqueued timers, switch to the
linked timerqueue. That allows to check whether the new expiry time changes
the position of the timer in the RB tree or not, by checking the new expiry
time against the previous and the next timers expiry.

Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://patch.msgid.link/20260224163431.806643179@kernel.org
</content>
</entry>
<entry>
<title>hrtimer: Keep track of first expiring timer per clock base</title>
<updated>2026-02-27T15:40:14+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-02-24T16:38:28+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=eddffab8282e388dddf032f3295fcec87eb08095'/>
<id>urn:sha1:eddffab8282e388dddf032f3295fcec87eb08095</id>
<content type='text'>
Evaluating the next expiry time of all clock bases is cache line expensive
as the expiry time of the first expiring timer is not cached in the base
and requires to access the timer itself, which is definitely in a different
cache line.

It's way more efficient to keep track of the expiry time on enqueue and
dequeue operations as the relevant data is already in the cache at that
point.

Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://patch.msgid.link/20260224163431.404839710@kernel.org
</content>
</entry>
<entry>
<title>hrtimer: Avoid re-evaluation when nothing changed</title>
<updated>2026-02-27T15:40:14+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-02-24T16:38:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b95c4442b02162904e9012e670b602ebeb3c6c1b'/>
<id>urn:sha1:b95c4442b02162904e9012e670b602ebeb3c6c1b</id>
<content type='text'>
Most times there is no change between hrtimer_interrupt() deferring the rearm
and the invocation of hrtimer_rearm_deferred(). In those cases it's a pointless
exercise to re-evaluate the next expiring timer.

Cache the required data and use it if nothing changed.

Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://patch.msgid.link/20260224163431.338569372@kernel.org
</content>
</entry>
<entry>
<title>hrtimer: Rename hrtimer_cpu_base::in_hrtirq to deferred_rearm</title>
<updated>2026-02-27T15:40:12+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-02-24T16:37:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9e07a9c980eaa93fd1bba722d31eeb4bf0cbbfb4'/>
<id>urn:sha1:9e07a9c980eaa93fd1bba722d31eeb4bf0cbbfb4</id>
<content type='text'>
The upcoming deferred rearming scheme has the same effect as the deferred
rearming when the hrtimer interrupt is executing. So it can reuse the
in_hrtirq flag, but when it gets deferred beyond the hrtimer interrupt
path, then the name does not make sense anymore.

Rename it to deferred_rearm upfront to keep the actual functional change
separate from the mechanical rename churn.

Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://patch.msgid.link/20260224163430.935623347@kernel.org
</content>
</entry>
<entry>
<title>hrtimer: Replace the bitfield in hrtimer_cpu_base</title>
<updated>2026-02-27T15:40:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-02-24T16:37:18+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7d27eafe54659d19cef10dab4520cbcdfb17b0e3'/>
<id>urn:sha1:7d27eafe54659d19cef10dab4520cbcdfb17b0e3</id>
<content type='text'>
Use bool for the various flags as that creates better code in the hot path.

Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://patch.msgid.link/20260224163430.475262618@kernel.org
</content>
</entry>
<entry>
<title>hrtimer: Remove public definition of HIGH_RES_NSEC</title>
<updated>2026-01-13T10:05:48+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-01-07T10:36:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=84663a5ad6333e8dcb57be9bb113f592e05b33c6'/>
<id>urn:sha1:84663a5ad6333e8dcb57be9bb113f592e05b33c6</id>
<content type='text'>
This constant is only used in a single place and is has a very generic
name polluting the global namespace.

Move the constant closer to its only user.

Signed-off-by: Thomas Weißschuh &lt;thomas.weissschuh@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260107-hrtimer-header-cleanup-v1-2-1a698ef0ddae@linutronix.de
</content>
</entry>
<entry>
<title>hrtimer: Remove unused resolution constants</title>
<updated>2026-01-13T10:05:48+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-01-07T10:36:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0483e5e1dc78f53c540b19231e9cf5571ce01d50'/>
<id>urn:sha1:0483e5e1dc78f53c540b19231e9cf5571ce01d50</id>
<content type='text'>
These constants are never used, remove them.

Signed-off-by: Thomas Weißschuh &lt;thomas.weissschuh@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260107-hrtimer-header-cleanup-v1-1-1a698ef0ddae@linutronix.de
</content>
</entry>
</feed>
