OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [fs/] [xfs/] [support/] [ktrace.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
3
 * All Rights Reserved.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License as
7
 * published by the Free Software Foundation.
8
 *
9
 * This program is distributed in the hope that it would be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program; if not, write the Free Software Foundation,
16
 * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
 */
18
#ifndef __XFS_SUPPORT_KTRACE_H__
19
#define __XFS_SUPPORT_KTRACE_H__
20
 
21
#include <spin.h>
22
 
23
/*
24
 * Trace buffer entry structure.
25
 */
26
typedef struct ktrace_entry {
27
        void    *val[16];
28
} ktrace_entry_t;
29
 
30
/*
31
 * Trace buffer header structure.
32
 */
33
typedef struct ktrace {
34
        lock_t          kt_lock;        /* mutex to guard counters */
35
        int             kt_nentries;    /* number of entries in trace buf */
36
        int             kt_index;       /* current index in entries */
37
        int             kt_rollover;
38
        ktrace_entry_t  *kt_entries;    /* buffer of entries */
39
} ktrace_t;
40
 
41
/*
42
 * Trace buffer snapshot structure.
43
 */
44
typedef struct ktrace_snap {
45
        int             ks_start;       /* kt_index at time of snap */
46
        int             ks_index;       /* current index */
47
} ktrace_snap_t;
48
 
49
 
50
#ifdef CONFIG_XFS_TRACE
51
 
52
extern void ktrace_init(int zentries);
53
extern void ktrace_uninit(void);
54
 
55
extern ktrace_t *ktrace_alloc(int, unsigned int __nocast);
56
extern void ktrace_free(ktrace_t *);
57
 
58
extern void ktrace_enter(
59
        ktrace_t        *,
60
        void            *,
61
        void            *,
62
        void            *,
63
        void            *,
64
        void            *,
65
        void            *,
66
        void            *,
67
        void            *,
68
        void            *,
69
        void            *,
70
        void            *,
71
        void            *,
72
        void            *,
73
        void            *,
74
        void            *,
75
        void            *);
76
 
77
extern ktrace_entry_t   *ktrace_first(ktrace_t *, ktrace_snap_t *);
78
extern int              ktrace_nentries(ktrace_t *);
79
extern ktrace_entry_t   *ktrace_next(ktrace_t *, ktrace_snap_t *);
80
extern ktrace_entry_t   *ktrace_skip(ktrace_t *, int, ktrace_snap_t *);
81
 
82
#else
83
#define ktrace_init(x)  do { } while (0)
84
#define ktrace_uninit() do { } while (0)
85
#endif  /* CONFIG_XFS_TRACE */
86
 
87
#endif  /* __XFS_SUPPORT_KTRACE_H__ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.