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:
parent
460c8c3adc
commit
6ad082845f
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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_ */
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue