Let's just say that the way things were stored in the array for the

debugging buffer made it much less useful than it appears.  More memory
for other things now.
This commit is contained in:
oster 2002-08-04 03:22:07 +00:00
parent 460c8c3adc
commit 6ad082845f
3 changed files with 6 additions and 96 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: rf_debugprint.c,v 1.5 2001/11/13 07:11:13 lukem Exp $ */
/* $NetBSD: rf_debugprint.c,v 1.6 2002/08/04 03:22:07 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rf_debugprint.c,v 1.5 2001/11/13 07:11:13 lukem Exp $");
__KERNEL_RCSID(0, "$NetBSD: rf_debugprint.c,v 1.6 2002/08/04 03:22:07 oster Exp $");
#include <dev/raidframe/raidframevar.h>
@ -45,93 +45,10 @@ __KERNEL_RCSID(0, "$NetBSD: rf_debugprint.c,v 1.5 2001/11/13 07:11:13 lukem Exp
#include <sys/param.h>
struct RF_Entry_s {
char *cstring;
void *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
};
/* space for 1k lines */
#define BUFSHIFT 10
#define BUFSIZE (1<<BUFSHIFT)
#define BUFMASK (BUFSIZE-1)
static struct RF_Entry_s rf_debugprint_buf[BUFSIZE];
static int rf_debugprint_index = 0;
RF_DECLARE_STATIC_MUTEX(rf_debug_print_mutex)
int rf_ConfigureDebugPrint(listp)
RF_ShutdownList_t **listp;
{
int rc;
rc = rf_create_managed_mutex(listp, &rf_debug_print_mutex);
if (rc) {
RF_ERRORMSG3("Unable to init mutex file %s line %d rc=%d\n", __FILE__,
__LINE__, rc);
return (rc);
}
rf_clear_debug_print_buffer();
return (0);
}
void
rf_clear_debug_print_buffer()
{
int i;
for (i = 0; i < BUFSIZE; i++)
rf_debugprint_buf[i].cstring = NULL;
rf_debugprint_index = 0;
}
void
rf_debug_printf(s, a1, a2, a3, a4, a5, a6, a7, a8)
char *s;
void *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
{
int idx;
if (rf_debugPrintUseBuffer) {
RF_LOCK_MUTEX(rf_debug_print_mutex);
idx = rf_debugprint_index;
rf_debugprint_index = (rf_debugprint_index + 1) & BUFMASK;
RF_UNLOCK_MUTEX(rf_debug_print_mutex);
rf_debugprint_buf[idx].cstring = s;
rf_debugprint_buf[idx].a1 = a1;
rf_debugprint_buf[idx].a2 = a2;
rf_debugprint_buf[idx].a3 = a3;
rf_debugprint_buf[idx].a4 = a4;
rf_debugprint_buf[idx].a5 = a5;
rf_debugprint_buf[idx].a6 = a6;
rf_debugprint_buf[idx].a7 = a7;
rf_debugprint_buf[idx].a8 = a8;
} else {
printf(s, a1, a2, a3, a4, a5, a6, a7, a8);
}
}
void
rf_print_debug_buffer()
{
rf_spill_debug_buffer(NULL);
}
void
rf_spill_debug_buffer(fname)
char *fname;
{
int i;
if (!rf_debugPrintUseBuffer)
return;
RF_LOCK_MUTEX(rf_debug_print_mutex);
for (i = rf_debugprint_index + 1; i != rf_debugprint_index; i = (i + 1) & BUFMASK)
if (rf_debugprint_buf[i].cstring)
printf(rf_debugprint_buf[i].cstring, rf_debugprint_buf[i].a1, rf_debugprint_buf[i].a2, rf_debugprint_buf[i].a3,
rf_debugprint_buf[i].a4, rf_debugprint_buf[i].a5, rf_debugprint_buf[i].a6, rf_debugprint_buf[i].a7, rf_debugprint_buf[i].a8);
printf(rf_debugprint_buf[i].cstring, rf_debugprint_buf[i].a1, rf_debugprint_buf[i].a2, rf_debugprint_buf[i].a3,
rf_debugprint_buf[i].a4, rf_debugprint_buf[i].a5, rf_debugprint_buf[i].a6, rf_debugprint_buf[i].a7, rf_debugprint_buf[i].a8);
RF_UNLOCK_MUTEX(rf_debug_print_mutex);
printf(s, a1, a2, a3, a4, a5, a6, a7, a8);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: rf_debugprint.h,v 1.3 1999/02/05 00:06:08 oster Exp $ */
/* $NetBSD: rf_debugprint.h,v 1.4 2002/08/04 03:22:07 oster Exp $ */
/*
* rf_debugprint.h
*/
@ -32,12 +32,8 @@
#ifndef _RF__RF_DEBUGPRINT_H_
#define _RF__RF_DEBUGPRINT_H_
int rf_ConfigureDebugPrint(RF_ShutdownList_t ** listp);
void rf_clear_debug_print_buffer(void);
void
rf_debug_printf(char *s, void *a1, void *a2, void *a3, void *a4,
void *a5, void *a6, void *a7, void *a8);
void rf_print_debug_buffer(void);
void rf_spill_debug_buffer(char *fname);
#endif /* !_RF__RF_DEBUGPRINT_H_ */

View File

@ -1,4 +1,4 @@
/* $NetBSD: rf_driver.c,v 1.53 2002/08/03 01:24:03 oster Exp $ */
/* $NetBSD: rf_driver.c,v 1.54 2002/08/04 03:22:07 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.53 2002/08/03 01:24:03 oster Exp $");
__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.54 2002/08/04 03:22:07 oster Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -356,8 +356,6 @@ rf_Configure(raidPtr, cfgPtr, ac)
}
/* initialize globals */
rf_clear_debug_print_buffer();
DO_INIT_CONFIGURE(rf_ConfigureAllocList);
/*
@ -376,7 +374,6 @@ rf_Configure(raidPtr, cfgPtr, ac)
DO_INIT_CONFIGURE(rf_ConfigureMCPair);
DO_INIT_CONFIGURE(rf_ConfigureDAGs);
DO_INIT_CONFIGURE(rf_ConfigureDAGFuncs);
DO_INIT_CONFIGURE(rf_ConfigureDebugPrint);
DO_INIT_CONFIGURE(rf_ConfigureReconstruction);
DO_INIT_CONFIGURE(rf_ConfigureCopyback);
DO_INIT_CONFIGURE(rf_ConfigureDiskQueueSystem);