📄 trace.h
字号:
/* $NetBSD: trace.h,v 1.7 1995/03/26 20:24:56 jtc Exp $ *//*- * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)trace.h 8.1 (Berkeley) 6/2/93 *//* * File system buffer tracing points; all trace <pack(dev, size), bn> */#define TR_BREADHIT 0 /* buffer read found in cache */#define TR_BREADMISS 1 /* buffer read not in cache */#define TR_BWRITE 2 /* buffer written */#define TR_BREADHITRA 3 /* buffer read-ahead found in cache */#define TR_BREADMISSRA 4 /* buffer read-ahead not in cache */#define TR_XFODMISS 5 /* exe fod read */#define TR_XFODHIT 6 /* exe fod read */#define TR_BRELSE 7 /* brelse */#define TR_BREALLOC 8 /* expand/contract a buffer *//* * Memory allocator trace points; all trace the amount of memory involved */#define TR_MALL 10 /* memory allocated *//* * Paging trace points: all are <vaddr, pid> */#define TR_INTRANS 20 /* page intransit block */#define TR_EINTRANS 21 /* page intransit wait done */#define TR_FRECLAIM 22 /* reclaim from free list */#define TR_RECLAIM 23 /* reclaim from loop */#define TR_XSFREC 24 /* reclaim from free list instead of drum */#define TR_XIFREC 25 /* reclaim from free list instead of fsys */#define TR_WAITMEM 26 /* wait for memory in pagein */#define TR_EWAITMEM 27 /* end memory wait in pagein */#define TR_ZFOD 28 /* zfod page fault */#define TR_EXFOD 29 /* exec fod page fault */#define TR_VRFOD 30 /* vread fod page fault */#define TR_CACHEFOD 31 /* fod in file system cache */#define TR_SWAPIN 32 /* drum page fault */#define TR_PGINDONE 33 /* page in done */#define TR_SWAPIO 34 /* swap i/o request arrives *//* * System call trace points. */#define TR_VADVISE 40 /* vadvise occurred with <arg, pid> *//* * Miscellaneous */#define TR_STAMP 45 /* user said vtrace(VTR_STAMP, value); *//* * This defines the size of the trace flags array. */#define TR_NFLAGS 100 /* generous */#define TRCSIZ 4096/* * Specifications of the vtrace() system call, which takes one argument. */#define VTRACE 64+51#define VTR_DISABLE 0 /* set a trace flag to 0 */#define VTR_ENABLE 1 /* set a trace flag to 1 */#define VTR_VALUE 2 /* return value of a trace flag */#define VTR_UALARM 3 /* set alarm to go off (sig 16) */ /* in specified number of hz */#define VTR_STAMP 4 /* user specified stamp */#ifdef _KERNEL#ifdef TRACEstruct proc *traceproc;int tracewhich, tracebuf[TRCSIZ];u_int tracex;char traceflags[TR_NFLAGS];#define pack(v,b) (((v)->v_mount->mnt_stat.f_fsid.val[0])<<16)|(b)#define trace(a,b,c) { \ if (traceflags[a]) \ trace1(a,b,c); \}#else#define trace(a,b,c)#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -