Subject: minor struct uvm_history rearrangement
To: None <tech-kern@netbsd.org>
From: Darrin B. Jewell <dbj@netbsd.org>
List: tech-kern
Date: 01/23/2004 01:17:36
I'd like to slightly rearrange struct uvm_history
from :
  struct uvm_history {
    const char *name;   /* name of this this history */
    size_t namelen;     /* length of name, not including null */
    LIST_ENTRY(uvm_history) list; /* link on list of all histories */
    int n;        /* number of entries */
    int f;        /* next free one */
    struct simplelock l;    /* lock on this history */
    struct uvm_history_ent *e;  /* the malloc'd entries */
  };

to:
  struct uvm_history {
    const char *name;   /* name of this this history */
    size_t namelen;     /* length of name, not including null */
    LIST_ENTRY(uvm_history) list; /* link on list of all histories */
    int n;        /* number of entries */
    int f;        /* next free one */
    struct uvm_history_ent *e;  /* the malloc'd entries */
    struct simplelock l;    /* lock on this history */
  };

Putting the simplelock at the end will allow vmstat -u and -U
work even with LOCKDEBUG defined.

Unfortunately, the rearrangement will require people to recompile
their vmstat to get the new layout if they use those options.

Darrin