<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/sys/dev/raidframe/rf_diskqueue.c, branch lockdoc-10.99.5-vfs-0.3</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>Add logging for buf-&gt;b_cflags BC_BUSY changes</title>
<updated>2023-08-19T17:16:22+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2023-08-19T17:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=e7b3826cda40b7e543318c19b9093dcceb8b4237'/>
<id>e7b3826cda40b7e543318c19b9093dcceb8b4237</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>call buf_destroy() after buf_init().  hopefully fixes the lockdebug</title>
<updated>2021-12-14T00:46:43+00:00</updated>
<author>
<name>mrg</name>
<email>mrg@NetBSD.org</email>
</author>
<published>2021-12-14T00:46:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=761b03c19bfee0ec02b12f1fe4de782c9513504c'/>
<id>761b03c19bfee0ec02b12f1fe4de782c9513504c</id>
<content type='text'>
problem shown here:

   http://mail-index.netbsd.org/tech-kern/2021/12/10/msg027851.html

but seems unlikely to fix the original problem.

tested on i386/anita.  ok oster@

XXX: pullup-9 (netbsd-8 uses old APIs.)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
problem shown here:

   http://mail-index.netbsd.org/tech-kern/2021/12/10/msg027851.html

but seems unlikely to fix the original problem.

tested on i386/anita.  ok oster@

XXX: pullup-9 (netbsd-8 uses old APIs.)</pre>
</div>
</content>
</entry>
<entry>
<title>rf_CreateDiskQueueData() no longer uses waitflag, and will always succeed.</title>
<updated>2021-07-27T03:01:48+00:00</updated>
<author>
<name>oster</name>
<email>oster@NetBSD.org</email>
</author>
<published>2021-07-27T03:01:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=7a378c3e22a3aedd8a859082453d261fb61125a0'/>
<id>7a378c3e22a3aedd8a859082453d261fb61125a0</id>
<content type='text'>
Cleanup the error path for the (no longer needed) PR_NOWAIT cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cleanup the error path for the (no longer needed) PR_NOWAIT cases.</pre>
</div>
</content>
</entry>
<entry>
<title>Various disk queue "peek" routines were only ever used in the simulator</title>
<updated>2021-07-23T20:18:24+00:00</updated>
<author>
<name>oster</name>
<email>oster@NetBSD.org</email>
</author>
<published>2021-07-23T20:18:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=af62e1cac3e903282c672cf5a71ae6dee33644e4'/>
<id>af62e1cac3e903282c672cf5a71ae6dee33644e4</id>
<content type='text'>
version of RAIDFrame.  Remove them from here.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
version of RAIDFrame.  Remove them from here.</pre>
</div>
</content>
</entry>
<entry>
<title>Extensive mechanical changes to the pools used in RAIDframe.</title>
<updated>2021-07-23T00:54:45+00:00</updated>
<author>
<name>oster</name>
<email>oster@NetBSD.org</email>
</author>
<published>2021-07-23T00:54:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=dfc45731f345ae91b10761e5f43a07615d8d7fae'/>
<id>dfc45731f345ae91b10761e5f43a07615d8d7fae</id>
<content type='text'>
Alloclist remains not per-RAID, so initialize that pool
separately/differently than the rest.

The remainder of pools in RF_Pools_s are now per-RAID pools.  Mostly
mechanical changes to functions to allocate/destroy per-RAID pools.
Needed to make raidPtr available in certain cases to be able to find
the per-RAID pools.

Extend rf_pool_init() to now populate a per-RAID wchan value that is
unique to each pool for a given RAID device.

TODO: Complete the analysis of the minimum number of items that are
required for each pool to allow IO to progress (i.e. so that a request
for pool resources can always be satisfied), and dynamically scale
minimum pool sizes based on RAID configuration.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Alloclist remains not per-RAID, so initialize that pool
separately/differently than the rest.

The remainder of pools in RF_Pools_s are now per-RAID pools.  Mostly
mechanical changes to functions to allocate/destroy per-RAID pools.
Needed to make raidPtr available in certain cases to be able to find
the per-RAID pools.

Extend rf_pool_init() to now populate a per-RAID wchan value that is
unique to each pool for a given RAID device.

TODO: Complete the analysis of the minimum number of items that are
required for each pool to allow IO to progress (i.e. so that a request
for pool resources can always be satisfied), and dynamically scale
minimum pool sizes based on RAID configuration.</pre>
</div>
</content>
</entry>
<entry>
<title>getiobuf() can return NULL if there are no IO buffers available.</title>
<updated>2021-07-23T00:26:19+00:00</updated>
<author>
<name>oster</name>
<email>oster@NetBSD.org</email>
</author>
<published>2021-07-23T00:26:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=d154584da104eff3a163bd87aac810f95a2f4350'/>
<id>d154584da104eff3a163bd87aac810f95a2f4350</id>
<content type='text'>
RAIDframe can't deal with that, so create a dedicated pool of buffers
to use for IO.  PR_WAITOK is fine here, as we pre-allocate more than
we need to guarantee IO can make progress.  Tuning of pool still to
come.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RAIDframe can't deal with that, so create a dedicated pool of buffers
to use for IO.  PR_WAITOK is fine here, as we pre-allocate more than
we need to guarantee IO can make progress.  Tuning of pool still to
come.</pre>
</div>
</content>
</entry>
<entry>
<title>remove unnnecessary splbio() in rf_FreeDiskQueueData()</title>
<updated>2020-06-19T19:32:03+00:00</updated>
<author>
<name>jdolecek</name>
<email>jdolecek@NetBSD.org</email>
</author>
<published>2020-06-19T19:32:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=9958d00766bdcb103e6635dd4f9b9c381d105988'/>
<id>9958d00766bdcb103e6635dd4f9b9c381d105988</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pass down b_flags B_PHYS|B_RAW|B_MEDIA_FLAGS from bio subsystem</title>
<updated>2020-06-19T19:29:39+00:00</updated>
<author>
<name>jdolecek</name>
<email>jdolecek@NetBSD.org</email>
</author>
<published>2020-06-19T19:29:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=a17d07ef62d88312cc47a8c8a4377005e8d2de4c'/>
<id>a17d07ef62d88312cc47a8c8a4377005e8d2de4c</id>
<content type='text'>
to component I/O

fixes the xbd(4) KASSERT() triggered by raidframe, noted in PR kern/55397
by Frank Kardel</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to component I/O

fixes the xbd(4) KASSERT() triggered by raidframe, noted in PR kern/55397
by Frank Kardel</pre>
</div>
</content>
</entry>
<entry>
<title>fix the function pointer and callback mess:</title>
<updated>2019-10-10T03:43:59+00:00</updated>
<author>
<name>christos</name>
<email>christos@NetBSD.org</email>
</author>
<published>2019-10-10T03:43:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=9272c73468bdffa4fc762a5644c8422c1a732028'/>
<id>9272c73468bdffa4fc762a5644c8422c1a732028</id>
<content type='text'>
- callback functions return 0 and their result is not checked; make them void.
- there are two types of callbacks and they used to overload their parameters
  and the callback structure; separate them into "function" and "value"
  callbacks.
- make the wait function signature consistent.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- callback functions return 0 and their result is not checked; make them void.
- there are two types of callbacks and they used to overload their parameters
  and the callback structure; separate them into "function" and "value"
  callbacks.
- make the wait function signature consistent.</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.</title>
<updated>2019-02-10T17:13:33+00:00</updated>
<author>
<name>christos</name>
<email>christos@NetBSD.org</email>
</author>
<published>2019-02-10T17:13:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=c9026edaa7b785b67f4c37a4b7114a37a904ebde'/>
<id>c9026edaa7b785b67f4c37a4b7114a37a904ebde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
