summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe/rf_diskqueue.h
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2021-07-23 00:54:45 +0000
committeroster <oster@NetBSD.org>2021-07-23 00:54:45 +0000
commitdfc45731f345ae91b10761e5f43a07615d8d7fae (patch)
tree139abcc17eaf3474460e469c9e08802d4d99429e /sys/dev/raidframe/rf_diskqueue.h
parentd154584da104eff3a163bd87aac810f95a2f4350 (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.h4
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);