home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / mach / vm_statistics.h < prev   
C/C++ Source or Header  |  1993-10-19  |  2KB  |  74 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1987 Carnegie-Mellon University
  4.  * All rights reserved.  The CMU software License Agreement specifies
  5.  * the terms and conditions for use and redistribution.
  6.  */
  7. /*
  8.  *    File:    mach/vm_statistics.h
  9.  *    Author:    Avadis Tevanian, Jr., Michael Wayne Young, David Golub
  10.  *
  11.  *    Copyright (C) 1986, Avadis Tevanian, Jr., Michael Wayne Young,
  12.  *                David Golub
  13.  *
  14.  *    Virtual memory statistics structure.
  15.  *
  16.  ************************************************************************
  17.  * HISTORY
  18.  * 30-Sep-86  Avadis Tevanian (avie) at Carnegie-Mellon University
  19.  *    Changed "reclaim" to "inactive."
  20.  *
  21.  * 22-Aug-86  Michael Young (mwyoung) at Carnegie-Mellon University
  22.  *    Made vm_stat structure kernel-only.
  23.  *
  24.  * 22-May-86  Avadis Tevanian (avie) at Carnegie-Mellon University
  25.  *    Defined vm_statistics_data_t as a real typedef so that
  26.  *    MatchMaker can deal with it.
  27.  *
  28.  * 14-Feb-86  Avadis Tevanian (avie) at Carnegie-Mellon University
  29.  *    Created.
  30.  *
  31.  ************************************************************************
  32.  */
  33.  
  34. #ifndef    _MACH_VM_STATISTICS_H_
  35. #define    _MACH_VM_STATISTICS_H_
  36.  
  37. struct vm_statistics {
  38.     long    pagesize;        /* page size in bytes */
  39.     long    free_count;        /* # of pages free */
  40.     long    active_count;        /* # of pages active */
  41.     long    inactive_count;        /* # of pages inactive */
  42.     long    wire_count;        /* # of pages wired down */
  43.     long    zero_fill_count;    /* # of zero fill pages */
  44.     long    reactivations;        /* # of pages reactivated */
  45.     long    pageins;        /* # of pageins */
  46.     long    pageouts;        /* # of pageouts */
  47.     long    faults;            /* # of faults */
  48.     long    cow_faults;        /* # of copy-on-writes */
  49.     long    lookups;        /* object cache lookups */
  50.     long    hits;            /* object cache hits */
  51. };
  52.  
  53. typedef struct vm_statistics    *vm_statistics_t;
  54. typedef struct vm_statistics    vm_statistics_data_t;
  55.  
  56. #ifdef    KERNEL
  57. extern vm_statistics_data_t    vm_stat;
  58. #endif    KERNEL
  59.  
  60. /*
  61.  *    Each machine dependent implementation is expected to
  62.  *    keep certain statistics.  They may do this anyway they
  63.  *    so choose, but are expected to return the statistics
  64.  *    in the following structure.
  65.  */
  66.  
  67. struct pmap_statistics {
  68.     long        resident_count;    /* # of pages mapped (total)*/
  69.     long        wired_count;    /* # of pages wired */
  70. };
  71.  
  72. typedef struct pmap_statistics    *pmap_statistics_t;
  73. #endif    _MACH_VM_STATISTICS_H_
  74.