diff options
| author | oster <oster@NetBSD.org> | 2004-03-13 02:00:15 +0000 |
|---|---|---|
| committer | oster <oster@NetBSD.org> | 2004-03-13 02:00:15 +0000 |
| commit | 8150ff6fbdcc3c2c10197b4add331d39ba7a53c3 (patch) | |
| tree | b600156907f93bf8f8f5659530e5a30685140697 /sys/dev | |
| parent | 1265776d4ef2d403337df48437ba0fbfae0de621 (diff) | |
- don't use rf_PrintUserStats() for recon statistics.
rf_PrintUserStats() was mean for the simulator, and doesn't provide
any real info in kernel-space, especially for reconstructs.
Reconstructing actually renders the stats even more useless, since it
resets them all to zero before the reconstruct starts!
- since rf_PrintUserStats() is no longer used, nuke it along with the
routines that feed it. Nothing was using this code, and if we ever
need it again, we know where to find it.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/raidframe/rf_driver.c | 135 | ||||
| -rw-r--r-- | sys/dev/raidframe/rf_driver.h | 7 | ||||
| -rw-r--r-- | sys/dev/raidframe/rf_raid.h | 6 | ||||
| -rw-r--r-- | sys/dev/raidframe/rf_reconstruct.c | 10 | ||||
| -rw-r--r-- | sys/dev/raidframe/rf_states.c | 5 |
5 files changed, 8 insertions, 155 deletions
diff --git a/sys/dev/raidframe/rf_driver.c b/sys/dev/raidframe/rf_driver.c index cab87815066..115e87dd3be 100644 --- a/sys/dev/raidframe/rf_driver.c +++ b/sys/dev/raidframe/rf_driver.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_driver.c,v 1.93 2004/03/09 02:41:21 oster Exp $ */ +/* $NetBSD: rf_driver.c,v 1.94 2004/03/13 02:00:15 oster Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. @@ -73,7 +73,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.93 2004/03/09 02:41:21 oster Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.94 2004/03/13 02:00:15 oster Exp $"); #include "opt_raid_diagnostic.h" @@ -392,7 +392,6 @@ rf_Configure(RF_Raid_t *raidPtr, RF_Config_t *cfgPtr, RF_AutoConfig_t *ac) if (rf_keepAccTotals) { raidPtr->keep_acc_totals = 1; } - rf_StartUserStats(raidPtr); raidPtr->valid = 1; @@ -749,136 +748,6 @@ rf_ConfigureDebug(RF_Config_t *cfgPtr) set_debug_option(name_p, val); } } -/* performance monitoring stuff */ - -#define TIMEVAL_TO_US(t) (((long) t.tv_sec) * 1000000L + (long) t.tv_usec) - -#if !defined(_KERNEL) && !defined(SIMULATE) - -/* - * Throughput stats currently only used in user-level RAIDframe - */ - -static int -rf_InitThroughputStats(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, - RF_Config_t *cfgPtr) -{ - int rc; - - /* these used by user-level raidframe only */ - rf_mutex_init(&raidPtr->throughputstats.mutex); - raidPtr->throughputstats.sum_io_us = 0; - raidPtr->throughputstats.num_ios = 0; - raidPtr->throughputstats.num_out_ios = 0; - return (0); -} - -void -rf_StartThroughputStats(RF_Raid_t *raidPtr) -{ - RF_LOCK_MUTEX(raidPtr->throughputstats.mutex); - raidPtr->throughputstats.num_ios++; - raidPtr->throughputstats.num_out_ios++; - if (raidPtr->throughputstats.num_out_ios == 1) - RF_GETTIME(raidPtr->throughputstats.start); - RF_UNLOCK_MUTEX(raidPtr->throughputstats.mutex); -} - -static void -rf_StopThroughputStats(RF_Raid_t *raidPtr) -{ - struct timeval diff; - - RF_LOCK_MUTEX(raidPtr->throughputstats.mutex); - raidPtr->throughputstats.num_out_ios--; - if (raidPtr->throughputstats.num_out_ios == 0) { - RF_GETTIME(raidPtr->throughputstats.stop); - RF_TIMEVAL_DIFF(&raidPtr->throughputstats.start, &raidPtr->throughputstats.stop, &diff); - raidPtr->throughputstats.sum_io_us += TIMEVAL_TO_US(diff); - } - RF_UNLOCK_MUTEX(raidPtr->throughputstats.mutex); -} - -static void -rf_PrintThroughputStats(RF_Raid_t *raidPtr) -{ - RF_ASSERT(raidPtr->throughputstats.num_out_ios == 0); - if (raidPtr->throughputstats.sum_io_us != 0) { - printf("[Througphut: %8.2f IOs/second]\n", raidPtr->throughputstats.num_ios - / (raidPtr->throughputstats.sum_io_us / 1000000.0)); - } -} -#endif /* !KERNEL && !SIMULATE */ - -void -rf_StartUserStats(RF_Raid_t *raidPtr) -{ - RF_GETTIME(raidPtr->userstats.start); - raidPtr->userstats.sum_io_us = 0; - raidPtr->userstats.num_ios = 0; - raidPtr->userstats.num_sect_moved = 0; -} - -void -rf_StopUserStats(RF_Raid_t *raidPtr) -{ - RF_GETTIME(raidPtr->userstats.stop); -} - -/* rt: resp time in us - numsect: number of sectors for this access */ -void -rf_UpdateUserStats(RF_Raid_t *raidPtr, int rt, int numsect) -{ - raidPtr->userstats.sum_io_us += rt; - raidPtr->userstats.num_ios++; - raidPtr->userstats.num_sect_moved += numsect; -} - -void -rf_PrintUserStats(RF_Raid_t *raidPtr) -{ - long elapsed_us, mbs, mbs_frac; - struct timeval diff; - - RF_TIMEVAL_DIFF(&raidPtr->userstats.start, - &raidPtr->userstats.stop, &diff); - elapsed_us = TIMEVAL_TO_US(diff); - - /* 2000 sectors per megabyte, 10000000 microseconds per second */ - if (elapsed_us) - mbs = (raidPtr->userstats.num_sect_moved / 2000) / - (elapsed_us / 1000000); - else - mbs = 0; - - /* this computes only the first digit of the fractional mb/s moved */ - if (elapsed_us) { - mbs_frac = ((raidPtr->userstats.num_sect_moved / 200) / - (elapsed_us / 1000000)) - (mbs * 10); - } else { - mbs_frac = 0; - } - - printf("raid%d: Number of I/Os: %ld\n", - raidPtr->raidid, raidPtr->userstats.num_ios); - printf("raid%d: Elapsed time (us): %ld\n", - raidPtr->raidid, elapsed_us); - printf("raid%d: User I/Os per second: %ld\n", - raidPtr->raidid, RF_DB0_CHECK(raidPtr->userstats.num_ios, - (elapsed_us / 1000000))); - printf("raid%d: Average user response time: %ld us\n", - raidPtr->raidid, RF_DB0_CHECK(raidPtr->userstats.sum_io_us, - raidPtr->userstats.num_ios)); - printf("raid%d: Total sectors moved: %ld\n", - raidPtr->raidid, raidPtr->userstats.num_sect_moved); - printf("raid%d: Average access size (sect): %ld\n", - raidPtr->raidid, RF_DB0_CHECK(raidPtr->userstats.num_sect_moved, - raidPtr->userstats.num_ios)); - printf("raid%d: Achieved data rate: %ld.%ld MB/sec\n", - raidPtr->raidid, mbs, mbs_frac); -} - void rf_print_panic_message(int line, char *file) diff --git a/sys/dev/raidframe/rf_driver.h b/sys/dev/raidframe/rf_driver.h index 8882fd85a5e..8eef8c47a13 100644 --- a/sys/dev/raidframe/rf_driver.h +++ b/sys/dev/raidframe/rf_driver.h @@ -1,4 +1,4 @@ -/* $NetBSD: rf_driver.h,v 1.9 2003/12/29 02:38:17 oster Exp $ */ +/* $NetBSD: rf_driver.h,v 1.10 2004/03/13 02:00:15 oster Exp $ */ /* * rf_driver.h */ @@ -63,10 +63,5 @@ int rf_FailDisk(RF_Raid_t * raidPtr, RF_RowCol_t fcol, int initRecon); void rf_SignalQuiescenceLock(RF_Raid_t * raidPtr); int rf_SuspendNewRequestsAndWait(RF_Raid_t * raidPtr); void rf_ResumeNewRequests(RF_Raid_t * raidPtr); -void rf_StartThroughputStats(RF_Raid_t * raidPtr); -void rf_StartUserStats(RF_Raid_t * raidPtr); -void rf_StopUserStats(RF_Raid_t * raidPtr); -void rf_UpdateUserStats(RF_Raid_t * raidPtr, int rt, int numsect); -void rf_PrintUserStats(RF_Raid_t * raidPtr); #endif /* !_RF__RF_DRIVER_H_ */ diff --git a/sys/dev/raidframe/rf_raid.h b/sys/dev/raidframe/rf_raid.h index 45da8a6ddec..c99449f94eb 100644 --- a/sys/dev/raidframe/rf_raid.h +++ b/sys/dev/raidframe/rf_raid.h @@ -1,4 +1,4 @@ -/* $NetBSD: rf_raid.h,v 1.29 2004/03/08 02:25:27 oster Exp $ */ +/* $NetBSD: rf_raid.h,v 1.30 2004/03/13 02:00:15 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -198,10 +198,6 @@ struct RF_Raid_s { /* * Statistics */ -#if !defined(_KERNEL) && !defined(SIMULATE) - RF_ThroughputStats_t throughputstats; -#endif /* !KERNEL && !SIMULATE */ - RF_CumulativeStats_t userstats; int parity_rewrite_stripes_done; int recon_stripes_done; int copyback_stripes_done; diff --git a/sys/dev/raidframe/rf_reconstruct.c b/sys/dev/raidframe/rf_reconstruct.c index 60b6af7deac..ac09af7bf4d 100644 --- a/sys/dev/raidframe/rf_reconstruct.c +++ b/sys/dev/raidframe/rf_reconstruct.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_reconstruct.c,v 1.74 2004/03/07 22:15:19 oster Exp $ */ +/* $NetBSD: rf_reconstruct.c,v 1.75 2004/03/13 02:00:15 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -33,7 +33,7 @@ ************************************************************/ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.74 2004/03/07 22:15:19 oster Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.75 2004/03/13 02:00:15 oster Exp $"); #include <sys/time.h> #include <sys/buf.h> @@ -582,8 +582,6 @@ rf_ContinueReconstructFailedDisk(RF_RaidReconDesc_t *reconDesc) Dprintf("RECON: begin request suspend\n"); rf_SuspendNewRequestsAndWait(raidPtr); Dprintf("RECON: end request suspend\n"); - rf_StartUserStats(raidPtr); /* zero out the stats kept on - * user accs */ /* fall through to state 1 */ @@ -694,10 +692,6 @@ rf_ContinueReconstructFailedDisk(RF_RaidReconDesc_t *reconDesc) reconDesc->state = 6; rf_SuspendNewRequestsAndWait(raidPtr); - rf_StopUserStats(raidPtr); - rf_PrintUserStats(raidPtr); /* print out the stats on user - * accs accumulated during - * recon */ /* fall through to state 6 */ case 6: diff --git a/sys/dev/raidframe/rf_states.c b/sys/dev/raidframe/rf_states.c index fd4a0d95fc6..9ab85d1a1b7 100644 --- a/sys/dev/raidframe/rf_states.c +++ b/sys/dev/raidframe/rf_states.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_states.c,v 1.29 2004/03/02 16:40:10 oster Exp $ */ +/* $NetBSD: rf_states.c,v 1.30 2004/03/13 02:00:15 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.29 2004/03/02 16:40:10 oster Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_states.c,v 1.30 2004/03/13 02:00:15 oster Exp $"); #include <sys/errno.h> @@ -276,7 +276,6 @@ rf_State_DecrAccessCount(RF_RaidAccessDesc_t *desc) if (raidPtr->accesses_suspended && raidPtr->accs_in_flight == 0) { rf_SignalQuiescenceLock(raidPtr); } - rf_UpdateUserStats(raidPtr, RF_ETIMER_VAL_US(desc->timer), desc->numBlocks); RF_UNLOCK_MUTEX(raidPtr->access_suspend_mutex); desc->state++; |
