On Thu, 19 Sep 2013 18:41:45 +0200 m...@netbsd.org (Emmanuel Dreyfus) wrote:
> Greg Oster <os...@cs.usask.ca> wrote: > > > > sysctl to the rescue. > > > > The appropriate 'bit to twiddle' is likely raidPtr->openings. > > Increasing the value can be done while holding raidPtr->mutex. > > Decreasing the value can also be done while holding raidPtr->mutex, > > but will need some care if attempting to decrease it by more than > > the number of outstanding IOs. > > This suggests that in my problem, RAIDframe would be the bottleneck > given too many concurent I/O sent by WAPBL. But how is it possible? > Aren't WAPBL flushes serialized? RAIDframe only allows 6 IOs to be active, by default. This number was based on what provided 'reasonable performance' vs. 'requiring a lot of kernel memory for degraded operation' back in the day. On a modern system, 6 is likely too low... > The change you sugest would be set by raidctl rather than sysctl, > right? It's probably easier to do by raidctl right now. I'm not opposed to having RAIDframe grow a sysctl interface as well if folks think that makes sense. The 'openings' value is currently set on a per-RAID basis, so a sysctl would need to be able to handle individual RAID sets as well as overall configuration parameters. Later... Greg Oster