Print this page
OS-7753 THREAD_KPRI_RELEASE does nothing of the sort
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/fss.h
          +++ new/usr/src/uts/common/sys/fss.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25      - * Copyright 2012 Joyent, Inc.  All rights reserved.
       25 + * Copyright 2019 Joyent, Inc.
  26   26   */
  27   27  
  28   28  #ifndef _SYS_FSS_H
  29   29  #define _SYS_FSS_H
  30   30  
  31   31  #include <sys/types.h>
  32   32  #include <sys/thread.h>
  33   33  #include <sys/project.h>
  34   34  #include <sys/cpucaps.h>
  35   35  
↓ open down ↓ 97 lines elided ↑ open up ↑
 133  133          struct fssproc *fss_prev; /* pointer to prev fssproc_t sturct   */
 134  134          caps_sc_t fss_caps;     /* CPU caps specific data               */
 135  135  } fssproc_t;
 136  136  
 137  137  /*
 138  138   * One of these structures is allocated to each zone running within
 139  139   * each active cpu partition.  This means that if a zone spans more
 140  140   * than one cpu partition then it will have a few of these structures.
 141  141   */
 142  142  typedef struct fsszone {
 143      -        struct zone     *fssz_zone;     /* ptr to our zone structure    */
      143 +        struct zone     *fssz_zone;     /* ptr to our zone structure    */
 144  144          struct fsszone  *fssz_next;     /* next fsszone_t in fsspset_t  */
 145  145          struct fsszone  *fssz_prev;     /* prev fsszone_t in fsspset_t  */
 146  146          uint32_t        fssz_shares;    /* sum of all project shares    */
 147  147          uint32_t        fssz_nproj;     /* # of projects                */
 148  148          uint32_t        fssz_rshares;   /* "real" shares given to zone  */
 149  149          uint32_t        fssz_runnable;  /* # of runnable projects       */
 150  150  } fsszone_t;
 151  151  
 152  152  #define FSSPROC(tx)             ((fssproc_t *)(tx->t_cldata))
 153  153  #define FSSPROC2FSSPROJ(fssx)   ((fssx)->fss_proj);
 154  154  #define FSSPROC2FSSPSET(fssx)   (FSSPROC2FSSPROJ(fssx)->fssp_pset)
 155  155  #define FSSPROJ(tx)             (FSSPROC(tx)->fss_proj)
 156  156  #define FSSPROJ2FSSPSET(fssx)   ((fssx)->fssp_pset)
 157  157  #define FSSPROJ2KPROJ(fssx)     ((fssx)->fssp_proj)
 158  158  #define FSSPROJ2FSSZONE(fssx)   ((fssx)->fssp_fsszone)
 159  159  
 160  160  /*
 161  161   * fss_flags
 162  162   */
 163      -#define FSSKPRI         0x01    /* the thread is in kernel mode */
      163 +/* Formerly: FSSKPRI    0x01 - the thread is in kernel mode */
 164  164  #define FSSBACKQ        0x02    /* thread should be placed at the back of */
 165  165                                  /* the dispatch queue if preempted */
 166  166  #define FSSRESTORE      0x04    /* thread was not preempted, due to schedctl */
 167  167                                  /* restore priority from fss_scpri */
 168  168  
 169  169  #endif  /* _KERNEL */
 170  170  
 171  171  #ifdef  __cplusplus
 172  172  }
 173  173  #endif
 174  174  
 175  175  #endif  /* _SYS_FSS_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX