<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/sys, branch trunk</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>clock_gettime(2): Fix CLOCK_PROCESS/THREAD_CPUTIME_ID.</title>
<updated>2023-07-08T20:02:10+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-08T20:02:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=d731d091e3765a540a7260d6d7f07f517d16f37b'/>
<id>d731d091e3765a540a7260d6d7f07f517d16f37b</id>
<content type='text'>
Use same calculation as getrusage, not some ad-hoc arithmetic of
internal scheduler parameters that are periodically rewound.

PR kern/57512

XXX pullup-8
XXX pullup-9
XXX pullup-10</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use same calculation as getrusage, not some ad-hoc arithmetic of
internal scheduler parameters that are periodically rewound.

PR kern/57512

XXX pullup-8
XXX pullup-9
XXX pullup-10</pre>
</div>
</content>
</entry>
<entry>
<title>curcpu_stable(9): New function for asserting curcpu() is stable.</title>
<updated>2023-07-08T13:59:05+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-08T13:59:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=81aaded24099f3685918bea8bbfc0fa5d60ab781'/>
<id>81aaded24099f3685918bea8bbfc0fa5d60ab781</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kern_resource.c: Fix brace placement.</title>
<updated>2023-07-08T11:42:03+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-08T11:42:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=6f3ccd3897bf1c8776cb0cf812310ddd754880ae'/>
<id>6f3ccd3897bf1c8776cb0cf812310ddd754880ae</id>
<content type='text'>
No functional change intended.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional change intended.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert unintentional changes to kern_lock.c in previous commit.</title>
<updated>2023-07-07T18:02:52+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T18:02:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=f0b07974431e15088bc38f5695ef7c1f9da599f8'/>
<id>f0b07974431e15088bc38f5695ef7c1f9da599f8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>heartbeat(9): Test whether curcpu is stable, not kpreempt_disabled.</title>
<updated>2023-07-07T17:05:13+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T17:05:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=afa0f868fead1cc486bacdbb818c375a027680d5'/>
<id>afa0f868fead1cc486bacdbb818c375a027680d5</id>
<content type='text'>
kpreempt_disabled worked for my testing because I tested on aarch64,
which doesn't have kpreemption.

XXX Should move curcpu_stable() to somewhere that other things can
use it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
kpreempt_disabled worked for my testing because I tested on aarch64,
which doesn't have kpreemption.

XXX Should move curcpu_stable() to somewhere that other things can
use it.</pre>
</div>
</content>
</entry>
<entry>
<title>xcall(9): If !mp_online, raise spl or set LP_BOUND to call func.</title>
<updated>2023-07-07T17:04:49+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T17:04:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=f20ead97230b2c52773865fc537058332faeb404'/>
<id>f20ead97230b2c52773865fc537058332faeb404</id>
<content type='text'>
High-priority xcalls may reasonably assume that the spl is raised to
splsoftserial, so make sure to do that in xc_broadcast.

Low-priority xcalls may reasonably enter paths that assume the lwp is
bound to a CPU, so let's make it assertable even if it doesn't have
any other consequences when !mp_online.

XXX pullup-8
XXX pullup-9
XXX pullup-10</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
High-priority xcalls may reasonably assume that the spl is raised to
splsoftserial, so make sure to do that in xc_broadcast.

Low-priority xcalls may reasonably enter paths that assume the lwp is
bound to a CPU, so let's make it assertable even if it doesn't have
any other consequences when !mp_online.

XXX pullup-8
XXX pullup-9
XXX pullup-10</pre>
</div>
</content>
</entry>
<entry>
<title>Unmask event after VCPUOP_stop_periodic_timer and</title>
<updated>2023-07-07T15:13:41+00:00</updated>
<author>
<name>bouyer</name>
<email>bouyer@NetBSD.org</email>
</author>
<published>2023-07-07T15:13:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=2a6361a63f44bb6164489194fb8f41acbee7cb4e'/>
<id>2a6361a63f44bb6164489194fb8f41acbee7cb4e</id>
<content type='text'>
initializing ci-&gt;ci_xen_hardclock_systime_ns, to avoid a possible race with
xen_timer_handler()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
initializing ci-&gt;ci_xen_hardclock_systime_ns, to avoid a possible race with
xen_timer_handler()</pre>
</div>
</content>
</entry>
<entry>
<title>sys/param.h: Welcome to 10.99.5, courtesy of heartbeat(9).</title>
<updated>2023-07-07T14:05:37+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T14:05:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=88b01cb4e58810347a8cd0b5edf74bd546f8e4c0'/>
<id>88b01cb4e58810347a8cd0b5edf74bd546f8e4c0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>amd64/ALL: Turn on heartbeat checks.</title>
<updated>2023-07-07T12:46:50+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T12:46:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=17a3fbab330ec8066dee2bb41b4603ee315699cd'/>
<id>17a3fbab330ec8066dee2bb41b4603ee315699cd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>heartbeat(9): New mechanism to check progress of kernel.</title>
<updated>2023-07-07T12:34:49+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2023-07-07T12:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=de09df2fbee768e9082e19034d75860393b1d8c7'/>
<id>de09df2fbee768e9082e19034d75860393b1d8c7</id>
<content type='text'>
This uses hard interrupts to check progress of low-priority soft
interrupts, and one CPU to check progress of another CPU.

If no progress has been made after a configurable number of seconds
(kern.heartbeat.max_period, default 15), then the system panics --
preferably on the CPU that is stuck so we get a stack trace in dmesg
of where it was stuck, but if the stuckness was detected by another
CPU and the stuck CPU doesn't acknowledge the request to panic within
one second, the detecting CPU panics instead.

This doesn't supplant hardware watchdog timers.  It is possible for
hard interrupts to be stuck on all CPUs for some reason too; in that
case heartbeat(9) has no opportunity to complete.

Downside: heartbeat(9) relies on hardclock to run at a reasonably
consistent rate, which might cause trouble for the glorious tickless
future.  However, it could be adapted to take a parameter for an
approximate number of units that have elapsed since the last call on
the current CPU, rather than treating that as a constant 1.

XXX kernel revbump -- changes struct cpu_info layout</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This uses hard interrupts to check progress of low-priority soft
interrupts, and one CPU to check progress of another CPU.

If no progress has been made after a configurable number of seconds
(kern.heartbeat.max_period, default 15), then the system panics --
preferably on the CPU that is stuck so we get a stack trace in dmesg
of where it was stuck, but if the stuckness was detected by another
CPU and the stuck CPU doesn't acknowledge the request to panic within
one second, the detecting CPU panics instead.

This doesn't supplant hardware watchdog timers.  It is possible for
hard interrupts to be stuck on all CPUs for some reason too; in that
case heartbeat(9) has no opportunity to complete.

Downside: heartbeat(9) relies on hardclock to run at a reasonably
consistent rate, which might cause trouble for the glorious tickless
future.  However, it could be adapted to take a parameter for an
approximate number of units that have elapsed since the last call on
the current CPU, rather than treating that as a constant 1.

XXX kernel revbump -- changes struct cpu_info layout</pre>
</div>
</content>
</entry>
</feed>
