Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/raidframe All IO is async in the RAIDframe kernel dr...



details:   https://anonhg.NetBSD.org/src/rev/f919a7288f15
branches:  trunk
changeset: 984776:f919a7288f15
user:      oster <oster%NetBSD.org@localhost>
date:      Fri Jul 23 02:35:14 2021 +0000

description:
All IO is async in the RAIDframe kernel driver, so desc->async_flag
isn't needed.  Cleanup the flag from rf_DoAccess() and its caller as
well.

diffstat:

 sys/dev/raidframe/rf_desc.h        |   3 +--
 sys/dev/raidframe/rf_driver.c      |  13 +++++--------
 sys/dev/raidframe/rf_driver.h      |   4 ++--
 sys/dev/raidframe/rf_netbsdkintf.c |  12 +++---------
 sys/dev/raidframe/rf_states.c      |   9 ++-------
 5 files changed, 13 insertions(+), 28 deletions(-)

diffs (153 lines):

diff -r 3ad4b587db3e -r f919a7288f15 sys/dev/raidframe/rf_desc.h
--- a/sys/dev/raidframe/rf_desc.h       Fri Jul 23 02:18:26 2021 +0000
+++ b/sys/dev/raidframe/rf_desc.h       Fri Jul 23 02:35:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_desc.h,v 1.21 2019/10/10 03:43:59 christos Exp $    */
+/*     $NetBSD: rf_desc.h,v 1.22 2021/07/23 02:35:14 oster Exp $       */
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -91,7 +91,6 @@
                                                 * I/O */
        void   *callbackArg;    /* arg to give to callback func */
        RF_RaidAccessDesc_t *next;
-       int     async_flag;
        RF_Etimer_t timer;      /* used for timing this access */
 };
 #endif                         /* !_RF__RF_DESC_H_ */
diff -r 3ad4b587db3e -r f919a7288f15 sys/dev/raidframe/rf_driver.c
--- a/sys/dev/raidframe/rf_driver.c     Fri Jul 23 02:18:26 2021 +0000
+++ b/sys/dev/raidframe/rf_driver.c     Fri Jul 23 02:35:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_driver.c,v 1.138 2021/07/23 00:54:45 oster Exp $    */
+/*     $NetBSD: rf_driver.c,v 1.139 2021/07/23 02:35:14 oster Exp $    */
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -66,7 +66,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.138 2021/07/23 00:54:45 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.139 2021/07/23 02:35:14 oster Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_raid_diagnostic.h"
@@ -665,13 +665,11 @@
  * when either the DAG library is incomplete or there are too many
  * failures in a parity group.
  *
- * type should be read or write async_flag should be RF_TRUE or
- * RF_FALSE bp_in is a buf pointer.  void *to facilitate ignoring it
- * outside the kernel
+ * type should be read or write.  bp_in is a buf pointer.  void *to
+ * facilitate ignoring it outside the kernel
  ********************************************************************/
 int
-rf_DoAccess(RF_Raid_t * raidPtr, RF_IoType_t type, int async_flag,
-           RF_RaidAddr_t raidAddress, RF_SectorCount_t numBlocks,
+rf_DoAccess(RF_Raid_t * raidPtr, RF_IoType_t type, RF_RaidAddr_t raidAddress, RF_SectorCount_t numBlocks,
            void *bufPtr, struct buf *bp, RF_RaidAccessFlags_t flags)
 {
        RF_RaidAccessDesc_t *desc;
@@ -704,7 +702,6 @@
 #if RF_ACC_TRACE > 0
        RF_ETIMER_START(desc->tracerec.tot_timer);
 #endif
-       desc->async_flag = async_flag;
 
        if (raidPtr->parity_map != NULL && 
            type == RF_IO_TYPE_WRITE)
diff -r 3ad4b587db3e -r f919a7288f15 sys/dev/raidframe/rf_driver.h
--- a/sys/dev/raidframe/rf_driver.h     Fri Jul 23 02:18:26 2021 +0000
+++ b/sys/dev/raidframe/rf_driver.h     Fri Jul 23 02:35:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_driver.h,v 1.20 2015/12/26 00:58:45 pgoyette Exp $  */
+/*     $NetBSD: rf_driver.h,v 1.21 2021/07/23 02:35:14 oster Exp $     */
 /*
  * rf_driver.h
  */
@@ -52,7 +52,7 @@
                                         RF_RaidAccessFlags_t,
                                         const RF_AccessState_t *);
 void rf_FreeRaidAccDesc(RF_RaidAccessDesc_t *);
-int rf_DoAccess(RF_Raid_t *, RF_IoType_t, int, RF_RaidAddr_t,
+int rf_DoAccess(RF_Raid_t *, RF_IoType_t, RF_RaidAddr_t,
                RF_SectorCount_t, void *, struct buf *,
                RF_RaidAccessFlags_t);
 #if 0
diff -r 3ad4b587db3e -r f919a7288f15 sys/dev/raidframe/rf_netbsdkintf.c
--- a/sys/dev/raidframe/rf_netbsdkintf.c        Fri Jul 23 02:18:26 2021 +0000
+++ b/sys/dev/raidframe/rf_netbsdkintf.c        Fri Jul 23 02:35:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_netbsdkintf.c,v 1.395 2021/07/23 00:54:45 oster Exp $       */
+/*     $NetBSD: rf_netbsdkintf.c,v 1.396 2021/07/23 02:35:14 oster Exp $       */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc.
@@ -101,7 +101,7 @@
  ***********************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.395 2021/07/23 00:54:45 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.396 2021/07/23 02:35:14 oster Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_raid_autoconfig.h"
@@ -1904,7 +1904,6 @@
        RF_SectorCount_t num_blocks, pb, sum;
        RF_RaidAddr_t raid_addr;
        daddr_t blocknum;
-       int     do_async;
        int rc;
 
        rf_lock_mutex2(raidPtr->mutex);
@@ -1954,17 +1953,12 @@
        raidPtr->openings--;
        rf_unlock_mutex2(raidPtr->mutex);
 
-       /*
-        * Everything is async.
-        */
-       do_async = 1;
-
        /* don't ever condition on bp->b_flags & B_WRITE.
         * always condition on B_READ instead */
 
        rc = rf_DoAccess(raidPtr, (bp->b_flags & B_READ) ?
                         RF_IO_TYPE_READ : RF_IO_TYPE_WRITE,
-                        do_async, raid_addr, num_blocks,
+                        raid_addr, num_blocks,
                         bp->b_data, bp, RF_DAG_NONBLOCKING_IO);
 
 done:
diff -r 3ad4b587db3e -r f919a7288f15 sys/dev/raidframe/rf_states.c
--- a/sys/dev/raidframe/rf_states.c     Fri Jul 23 02:18:26 2021 +0000
+++ b/sys/dev/raidframe/rf_states.c     Fri Jul 23 02:35:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_states.c,v 1.52 2021/07/23 00:54:45 oster Exp $     */
+/*     $NetBSD: rf_states.c,v 1.53 2021/07/23 02:35:14 oster Exp $     */
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_states.c,v 1.52 2021/07/23 00:54:45 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_states.c,v 1.53 2021/07/23 02:35:14 oster Exp $");
 
 #include <sys/errno.h>
 
@@ -216,11 +216,6 @@
        void * callbackArg = desc->callbackArg;
 
        /*
-        * We don't support non-async IO.
-        */
-       KASSERT(desc->async_flag);
-
-       /*
         * The parity_map hook has to go here, because the iodone
         * callback goes straight into the kintf layer.
         */



Home | Main Index | Thread Index | Old Index