Print this page
OS-5192 need faster clock_gettime
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
Reviewed by: Ryan Zezeski <ryan@zinascii.com>
OS-5209 __KERN_NAUXV_IMPL needs to be increased for OS-5202

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/user.h
          +++ new/usr/src/uts/common/sys/user.h
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26   26  /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  27   27  /*        All Rights Reserved   */
  28   28  /*
  29      - * Copyright (c) 2012 Joyent, Inc.  All rights reserved.
       29 + * Copyright 2016 Joyent, Inc.
  30   30   */
  31   31  
  32   32  
  33   33  #ifndef _SYS_USER_H
  34   34  #define _SYS_USER_H
  35   35  
  36   36  #include <sys/types.h>
  37   37  #include <sys/signal.h>
  38   38  
  39   39  #ifdef  __cplusplus
↓ open down ↓ 138 lines elided ↑ open up ↑
 178  178  /*
 179  179   * __KERN_NAUXV_IMPL is defined as a convenience sizing mechanism
 180  180   * for the portions of the kernel that care about aux vectors.
 181  181   *
 182  182   * Applications that need to know how many aux vectors the kernel
 183  183   * supplies should use the proc(4) interface to read /proc/PID/auxv.
 184  184   *
 185  185   * This value should not be changed in a patch.
 186  186   */
 187  187  #if defined(__sparc)
 188      -#define __KERN_NAUXV_IMPL 20
      188 +#define __KERN_NAUXV_IMPL 24
 189  189  #elif defined(__i386) || defined(__amd64)
 190      -#define __KERN_NAUXV_IMPL 22
      190 +#define __KERN_NAUXV_IMPL 26
 191  191  #endif
 192  192  
 193  193  struct execsw;
 194  194  
 195  195  /*
 196  196   * The user structure; one allocated per process.  Contains all the
 197  197   * per-process data that doesn't need to be referenced while the
 198  198   * process is swapped.
 199  199   */
 200  200  typedef struct  user {
↓ open down ↓ 3 lines elided ↑ open up ↑
 204  204           */
 205  205          struct execsw *u_execsw;        /* pointer to exec switch entry */
 206  206          auxv_t  u_auxv[__KERN_NAUXV_IMPL]; /* aux vector from exec */
 207  207          timestruc_t u_start;            /* hrestime at process start */
 208  208          clock_t u_ticks;                /* lbolt at process start */
 209  209          char    u_comm[MAXCOMLEN + 1];  /* executable file name from exec */
 210  210          char    u_psargs[PSARGSZ];      /* arguments from exec */
 211  211          int     u_argc;                 /* value of argc passed to main() */
 212  212          uintptr_t u_argv;               /* value of argv passed to main() */
 213  213          uintptr_t u_envp;               /* value of envp passed to main() */
      214 +        uintptr_t u_commpagep;          /* address of mapped comm page */
 214  215  
 215  216          /*
 216  217           * These fields are protected by p_lock:
 217  218           */
 218  219          struct vnode *u_cdir;           /* current directory */
 219  220          struct vnode *u_rdir;           /* root directory */
 220  221          uint64_t u_mem;                 /* accumulated memory usage */
 221  222          size_t  u_mem_max;              /* peak RSS (K) */
 222  223          mode_t  u_cmask;                /* mask for file creation */
 223  224          char    u_acflag;               /* accounting flag */
↓ open down ↓ 74 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX