diff options
| author | oster <oster@NetBSD.org> | 2021-07-23 00:54:45 +0000 |
|---|---|---|
| committer | oster <oster@NetBSD.org> | 2021-07-23 00:54:45 +0000 |
| commit | dfc45731f345ae91b10761e5f43a07615d8d7fae (patch) | |
| tree | 139abcc17eaf3474460e469c9e08802d4d99429e /sys/dev/raidframe/rf_diskqueue.h | |
| parent | d154584da104eff3a163bd87aac810f95a2f4350 (diff) | |
Extensive mechanical changes to the pools used in RAIDframe.
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.
Diffstat (limited to 'sys/dev/raidframe/rf_diskqueue.h')
| -rw-r--r-- | sys/dev/raidframe/rf_diskqueue.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/raidframe/rf_diskqueue.h b/sys/dev/raidframe/rf_diskqueue.h index 11ae4ddec55..da824433c35 100644 --- a/sys/dev/raidframe/rf_diskqueue.h +++ b/sys/dev/raidframe/rf_diskqueue.h @@ -1,4 +1,4 @@ -/* $NetBSD: rf_diskqueue.h,v 1.26 2020/06/19 19:29:39 jdolecek Exp $ */ +/* $NetBSD: rf_diskqueue.h,v 1.27 2021/07/23 00:54:45 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -131,7 +131,7 @@ struct RF_DiskQueue_s { (RF_QUEUE_EMPTY(_q_) || \ (!RF_QUEUE_FULL(_q_) && ((_r_)->priority >= (_q_)->curPriority))) -int rf_ConfigureDiskQueueSystem(RF_ShutdownList_t **); +int rf_ConfigureDiskQueueSystem(RF_ShutdownList_t **, RF_Raid_t *, RF_Config_t *); int rf_ConfigureDiskQueues(RF_ShutdownList_t **, RF_Raid_t *, RF_Config_t *); void rf_DiskIOEnqueue(RF_DiskQueue_t *, RF_DiskQueueData_t *, int); void rf_DiskIOComplete(RF_DiskQueue_t *, RF_DiskQueueData_t *, int); |
