<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/sys/kern/kern_rwlock.c, branch lockdoc-9.3-0.4</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>Implement missing Mutex and RW logging</title>
<updated>2023-03-17T19:36:23+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2023-03-17T19:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=e2e1b134996638a109eec45981ba651ecef1b952'/>
<id>e2e1b134996638a109eec45981ba651ecef1b952</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement logging for rwlock_enter() and rwlock_exit(), move from do-while macros to dedicated functions to allow for return values.</title>
<updated>2023-03-16T22:26:30+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2023-03-16T22:26:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=776ee58682b55a490930b73105b3596dde1f16fa'/>
<id>776ee58682b55a490930b73105b3596dde1f16fa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Undo previous log_lock functions only used for testing</title>
<updated>2022-10-27T10:39:35+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2022-10-27T10:39:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=1a0ba374e3caa89776b4eabafd495d28edf9f8b7'/>
<id>1a0ba374e3caa89776b4eabafd495d28edf9f8b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Continue implementation</title>
<updated>2022-10-17T20:44:37+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2022-10-17T20:44:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=43541eb4960ae12af3a65f0fa389a5c8c13f67ab'/>
<id>43541eb4960ae12af3a65f0fa389a5c8c13f67ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid prepending a timestamp to lock debug outputs on ddb</title>
<updated>2019-05-09T05:00:31+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2019-05-09T05:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=cb59eff2c4202e5c4865fba1632af3439f56f03f'/>
<id>cb59eff2c4202e5c4865fba1632af3439f56f03f</id>
<content type='text'>
Lock printer functions (lockops_t#lo_dump) use printf_nolog to print, but
printf_nolog now prepends a timestamp which is unnecessary for ddb:

    db{0}&gt; show all locks/t
    [Locks tracked through LWPs]
    Locks held by an LWP (iperf):
    Lock 0 (initialized at soinit)
    lock address : 0xffffedeb84b06080 type     :     sleep/adaptive
    initialized  : 0xffffffff806d8c3f
    shared holds :                  0 exclusive:                  1
    shares wanted:                  0 exclusive:                 11
    current cpu  :                  0 last held:                  1
    current lwp  : 0xffffedeb849ff040 last held: 0xffffedeb7dfdb240
    last locked* : 0xffffffff806d8335 unlocked : 0xffffffff806d8385
    [ 79103.0868574] owner field  : 0xffffedeb7dfdb240 wait/spin:                1/0

Fix it by passing a printer function to lo_dump functions, i.e., make the
functions use db_printf on ddb.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lock printer functions (lockops_t#lo_dump) use printf_nolog to print, but
printf_nolog now prepends a timestamp which is unnecessary for ddb:

    db{0}&gt; show all locks/t
    [Locks tracked through LWPs]
    Locks held by an LWP (iperf):
    Lock 0 (initialized at soinit)
    lock address : 0xffffedeb84b06080 type     :     sleep/adaptive
    initialized  : 0xffffffff806d8c3f
    shared holds :                  0 exclusive:                  1
    shares wanted:                  0 exclusive:                 11
    current cpu  :                  0 last held:                  1
    current lwp  : 0xffffedeb849ff040 last held: 0xffffedeb7dfdb240
    last locked* : 0xffffffff806d8335 unlocked : 0xffffffff806d8385
    [ 79103.0868574] owner field  : 0xffffedeb7dfdb240 wait/spin:                1/0

Fix it by passing a printer function to lo_dump functions, i.e., make the
functions use db_printf on ddb.</pre>
</div>
</content>
</entry>
<entry>
<title>Don't check pserialize_not_in_read_section after panic</title>
<updated>2019-04-17T02:29:43+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2019-04-17T02:29:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=18d7eba7de94f0eb8a78eeae84d9ed71a0b149d6'/>
<id>18d7eba7de94f0eb8a78eeae84d9ed71a0b149d6</id>
<content type='text'>
It can cause a false positive assertion failure.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It can cause a false positive assertion failure.</pre>
</div>
</content>
</entry>
<entry>
<title>Sprinkle __predict_false to dedicated assertions of mutex and rwlock</title>
<updated>2018-08-31T01:23:57+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2018-08-31T01:23:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=587b081c835ca4b2e1b422a275eb7550e03804c9'/>
<id>587b081c835ca4b2e1b422a275eb7550e03804c9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Check pserialize_not_in_read_section for adaptive mutexes and rwlocks</title>
<updated>2018-08-14T01:09:53+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2018-08-14T01:09:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=2d1ba7d83c9b11b8a6a9271fb04f27b3c8c899be'/>
<id>2d1ba7d83c9b11b8a6a9271fb04f27b3c8c899be</id>
<content type='text'>
The overhead of the checks is not negligible so they're turned on only if both
DEBUG and LOCKDEBUG are enabled.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The overhead of the checks is not negligible so they're turned on only if both
DEBUG and LOCKDEBUG are enabled.</pre>
</div>
</content>
</entry>
<entry>
<title>Obtain proper initialized addresses of locks allocated by mutex_obj_alloc or rw_obj_alloc</title>
<updated>2018-02-05T04:25:04+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2018-02-05T04:25:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=aa0512feef96b9b5ec1f60a93b75c917397b95d4'/>
<id>aa0512feef96b9b5ec1f60a93b75c917397b95d4</id>
<content type='text'>
Initialized addresses of locks allocated by mutex_obj_alloc or rw_obj_alloc
were not useful because the addresses were mutex_obj_alloc or rw_obj_alloc
itself. What we want to know are callers of them.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initialized addresses of locks allocated by mutex_obj_alloc or rw_obj_alloc
were not useful because the addresses were mutex_obj_alloc or rw_obj_alloc
itself. What we want to know are callers of them.</pre>
</div>
</content>
</entry>
<entry>
<title>Apply C99-style struct initialization to syncobj_t</title>
<updated>2018-01-30T07:52:22+00:00</updated>
<author>
<name>ozaki-r</name>
<email>ozaki-r@NetBSD.org</email>
</author>
<published>2018-01-30T07:52:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=df995f31ddea08605f1ac4d9a54e7b17bb4e4c7a'/>
<id>df995f31ddea08605f1ac4d9a54e7b17bb4e4c7a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
