Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/dnlc.c
          +++ new/usr/src/uts/common/fs/dnlc.c
↓ open down ↓ 246 lines elided ↑ open up ↑
 247  247          (ncp)->hash_prev = NULL; \
 248  248          (ncp)->hash_next = NULL; \
 249  249  }
 250  250  
 251  251  /*
 252  252   * Free an entry.
 253  253   */
 254  254  #define dnlc_free(ncp) \
 255  255  { \
 256  256          kmem_free((ncp), sizeof (ncache_t) + (ncp)->namlen); \
 257      -        atomic_add_32(&dnlc_nentries, -1); \
      257 +        atomic_dec_32(&dnlc_nentries); \
 258  258  }
 259  259  
 260  260  
 261  261  /*
 262  262   * Cached directory info.
 263  263   * ======================
 264  264   */
 265  265  
 266  266  /*
 267  267   * Cached directory free space hash function.
↓ open down ↓ 749 lines elided ↑ open up ↑
1017 1017  
1018 1018          if (dnlc_nentries > dnlc_max_nentries) {
1019 1019                  dnlc_max_nentries_cnt++; /* keep a statistic */
1020 1020                  return (NULL);
1021 1021          }
1022 1022          ncp = kmem_alloc(sizeof (ncache_t) + namlen, KM_NOSLEEP);
1023 1023          if (ncp == NULL) {
1024 1024                  return (NULL);
1025 1025          }
1026 1026          ncp->namlen = namlen;
1027      -        atomic_add_32(&dnlc_nentries, 1);
     1027 +        atomic_inc_32(&dnlc_nentries);
1028 1028          dnlc_reduce_cache(NULL);
1029 1029          return (ncp);
1030 1030  }
1031 1031  
1032 1032  /*
1033 1033   * Taskq routine to free up name cache entries to reduce the
1034 1034   * cache size to the low water mark if "reduce_percent" is not provided.
1035 1035   * If "reduce_percent" is provided, reduce cache size by
1036 1036   * (ncsize_onepercent * reduce_percent).
1037 1037   */
↓ open down ↓ 986 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX