Commit 61e41fb1 authored by Nathan Scott's avatar Nathan Scott

[XFS] Fix ktrace code - dont build unilaterally, and do earlier init for pagebuf use.

SGI Modid: 2.5.x-xfs:slinx:160172a
parent 00d9eb99
...@@ -131,12 +131,13 @@ xfs-y += $(addprefix linux/, \ ...@@ -131,12 +131,13 @@ xfs-y += $(addprefix linux/, \
# Objects in support/ # Objects in support/
xfs-y += $(addprefix support/, \ xfs-y += $(addprefix support/, \
debug.o \ debug.o \
ktrace.o \
move.o \ move.o \
mrlock.o \ mrlock.o \
qsort.o \ qsort.o \
uuid.o) uuid.o)
xfs-$(CONFIG_XFS_TRACE) += support/ktrace.o
# Quota and DMAPI stubs # Quota and DMAPI stubs
xfs-y += xfs_dmops.o \ xfs-y += xfs_dmops.o \
xfs_qmops.o xfs_qmops.o
......
...@@ -869,6 +869,8 @@ init_xfs_fs( void ) ...@@ -869,6 +869,8 @@ init_xfs_fs( void )
si_meminfo(&si); si_meminfo(&si);
xfs_physmem = si.totalram; xfs_physmem = si.totalram;
ktrace_init(64);
error = init_inodecache(); error = init_inodecache();
if (error < 0) if (error < 0)
goto undo_inodecache; goto undo_inodecache;
...@@ -907,6 +909,7 @@ exit_xfs_fs( void ) ...@@ -907,6 +909,7 @@ exit_xfs_fs( void )
vfs_exitdmapi(); vfs_exitdmapi();
pagebuf_terminate(); pagebuf_terminate();
destroy_inodecache(); destroy_inodecache();
ktrace_uninit();
} }
module_init(init_xfs_fs); module_init(init_xfs_fs);
......
/* /*
* Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. * Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as * under the terms of version 2 of the GNU General Public License as
...@@ -40,8 +40,6 @@ ...@@ -40,8 +40,6 @@
#include "debug.h" #include "debug.h"
#include "ktrace.h" #include "ktrace.h"
#if (defined(DEBUG) || defined(CONFIG_XFS_VNODE_TRACING))
static kmem_zone_t *ktrace_hdr_zone; static kmem_zone_t *ktrace_hdr_zone;
static kmem_zone_t *ktrace_ent_zone; static kmem_zone_t *ktrace_ent_zone;
static int ktrace_zentries; static int ktrace_zentries;
...@@ -121,7 +119,6 @@ ktrace_alloc(int nentries, int sleep) ...@@ -121,7 +119,6 @@ ktrace_alloc(int nentries, int sleep)
ktp->kt_nentries = nentries; ktp->kt_nentries = nentries;
ktp->kt_index = 0; ktp->kt_index = 0;
ktp->kt_rollover = 0; ktp->kt_rollover = 0;
return ktp; return ktp;
} }
...@@ -235,7 +232,6 @@ ktrace_nentries( ...@@ -235,7 +232,6 @@ ktrace_nentries(
return (ktp->kt_rollover ? ktp->kt_nentries : ktp->kt_index); return (ktp->kt_rollover ? ktp->kt_nentries : ktp->kt_index);
} }
/* /*
* ktrace_first() * ktrace_first()
* *
...@@ -276,7 +272,7 @@ ktrace_first(ktrace_t *ktp, ktrace_snap_t *ktsp) ...@@ -276,7 +272,7 @@ ktrace_first(ktrace_t *ktp, ktrace_snap_t *ktsp)
} }
return ktep; return ktep;
} }
EXPORT_SYMBOL(ktrace_first);
/* /*
* ktrace_next() * ktrace_next()
...@@ -311,11 +307,7 @@ ktrace_next( ...@@ -311,11 +307,7 @@ ktrace_next(
return ktep; return ktep;
} }
#if (defined(DEBUG) || defined(CONFIG_XFS_VNODE_TRACING))
EXPORT_SYMBOL(ktrace_first);
EXPORT_SYMBOL(ktrace_next); EXPORT_SYMBOL(ktrace_next);
#endif
/* /*
* ktrace_skip() * ktrace_skip()
...@@ -323,7 +315,6 @@ EXPORT_SYMBOL(ktrace_next); ...@@ -323,7 +315,6 @@ EXPORT_SYMBOL(ktrace_next);
* Skip the next "count" entries and return the entry after that. * Skip the next "count" entries and return the entry after that.
* Return NULL if this causes us to iterate past the beginning again. * Return NULL if this causes us to iterate past the beginning again.
*/ */
ktrace_entry_t * ktrace_entry_t *
ktrace_skip( ktrace_skip(
ktrace_t *ktp, ktrace_t *ktp,
...@@ -362,18 +353,3 @@ ktrace_skip( ...@@ -362,18 +353,3 @@ ktrace_skip(
} }
return ktep; return ktep;
} }
#else
ktrace_t *
ktrace_alloc(int nentries, int sleep)
{
/*
* KM_SLEEP callers don't expect failure.
*/
if (sleep & KM_SLEEP)
panic("ktrace_alloc: NULL memory on KM_SLEEP request!");
return NULL;
}
#endif
/* /*
* Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. * Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as * under the terms of version 2 of the GNU General Public License as
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#ifndef __XFS_SUPPORT_KTRACE_H__ #ifndef __XFS_SUPPORT_KTRACE_H__
#define __XFS_SUPPORT_KTRACE_H__ #define __XFS_SUPPORT_KTRACE_H__
#include <support/spin.h>
/* /*
* Trace buffer entry structure. * Trace buffer entry structure.
...@@ -59,16 +60,13 @@ typedef struct ktrace_snap { ...@@ -59,16 +60,13 @@ typedef struct ktrace_snap {
int ks_index; /* current index */ int ks_index; /* current index */
} ktrace_snap_t; } ktrace_snap_t;
/*
* Exported interfaces.
*/
extern ktrace_t *ktrace_alloc(int, int);
#if (defined(DEBUG) || defined(CONFIG_XFS_VNODE_TRACING)) #ifdef CONFIG_XFS_TRACE
extern void ktrace_init(int zentries); extern void ktrace_init(int zentries);
extern void ktrace_uninit(void); extern void ktrace_uninit(void);
extern ktrace_t *ktrace_alloc(int, int);
extern void ktrace_free(ktrace_t *); extern void ktrace_free(ktrace_t *);
extern void ktrace_enter( extern void ktrace_enter(
...@@ -96,10 +94,8 @@ extern ktrace_entry_t *ktrace_next(ktrace_t *, ktrace_snap_t *); ...@@ -96,10 +94,8 @@ extern ktrace_entry_t *ktrace_next(ktrace_t *, ktrace_snap_t *);
extern ktrace_entry_t *ktrace_skip(ktrace_t *, int, ktrace_snap_t *); extern ktrace_entry_t *ktrace_skip(ktrace_t *, int, ktrace_snap_t *);
#else #else
#define ktrace_init(x) do { } while (0)
#define ktrace_free(ktp) #define ktrace_uninit() do { } while (0)
#define ktrace_enter(ktp,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) #endif /* CONFIG_XFS_TRACE */
#endif
#endif /* __XFS_SUPPORT_KTRACE_H__ */ #endif /* __XFS_SUPPORT_KTRACE_H__ */
...@@ -132,14 +132,6 @@ xfs_init(void) ...@@ -132,14 +132,6 @@ xfs_init(void)
"xfs_chashlist"); "xfs_chashlist");
_ACL_ZONE_INIT(xfs_acl_zone, "xfs_acl"); _ACL_ZONE_INIT(xfs_acl_zone, "xfs_acl");
#ifdef CONFIG_XFS_VNODE_TRACING
ktrace_init(VNODE_TRACE_SIZE);
#else
#ifdef DEBUG
ktrace_init(64);
#endif
#endif
/* /*
* Allocate global trace buffers. * Allocate global trace buffers.
*/ */
...@@ -203,9 +195,6 @@ xfs_cleanup(void) ...@@ -203,9 +195,6 @@ xfs_cleanup(void)
kmem_cache_destroy(xfs_ili_zone); kmem_cache_destroy(xfs_ili_zone);
kmem_cache_destroy(xfs_chashlist_zone); kmem_cache_destroy(xfs_chashlist_zone);
_ACL_ZONE_DESTROY(xfs_acl_zone); _ACL_ZONE_DESTROY(xfs_acl_zone);
#if (defined(DEBUG) || defined(CONFIG_XFS_VNODE_TRACING))
ktrace_uninit();
#endif
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment