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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/sharefs/sharetab.c
          +++ new/usr/src/uts/common/fs/sharefs/sharetab.c
↓ open down ↓ 146 lines elided ↑ open up ↑
 147  147                   */
 148  148                  if (strcmp(sh->sh_path, s->sh_path) == 0 &&
 149  149                      strlen(s->sh_path) == iPath) {
 150  150                          if (p) {
 151  151                                  p->sh_next = s->sh_next;
 152  152                          } else {
 153  153                                  sht->s_buckets[iHash].ssh_sh = s->sh_next;
 154  154                          }
 155  155  
 156  156                          ASSERT(sht->s_buckets[iHash].ssh_count != 0);
 157      -                        atomic_add_32(&sht->s_buckets[iHash].ssh_count, -1);
 158      -                        atomic_add_32(&sht->s_count, -1);
 159      -                        atomic_add_32(&sharetab_count, -1);
      157 +                        atomic_dec_32(&sht->s_buckets[iHash].ssh_count);
      158 +                        atomic_dec_32(&sht->s_count);
      159 +                        atomic_dec_32(&sharetab_count);
 160  160  
 161  161                          ASSERT(sharetab_size >= s->sh_size);
 162  162                          sharetab_size -= s->sh_size;
 163  163  
 164  164                          gethrestime(&sharetab_mtime);
 165      -                        atomic_add_32(&sharetab_generation, 1);
      165 +                        atomic_inc_32(&sharetab_generation);
 166  166  
 167  167                          break;
 168  168                  }
 169  169  
 170  170                  p = s;
 171  171          }
 172  172  
 173  173          rw_exit(&sharetab_lock);
 174  174  
 175  175          if (!s) {
↓ open down ↓ 98 lines elided ↑ open up ↑
 274  274                          ASSERT(sharetab_size >= s->sh_size);
 275  275                          sharetab_size -= s->sh_size;
 276  276                          sharetab_size += sh->sh_size;
 277  277  
 278  278                          /*
 279  279                           * Get rid of the old node.
 280  280                           */
 281  281                          sharefree(s, NULL);
 282  282  
 283  283                          gethrestime(&sharetab_mtime);
 284      -                        atomic_add_32(&sharetab_generation, 1);
      284 +                        atomic_inc_32(&sharetab_generation);
 285  285  
 286  286                          ASSERT(sht->s_buckets[iHash].ssh_count != 0);
 287  287                          rw_exit(&sharetab_lock);
 288  288  
 289  289                          return (0);
 290  290                  }
 291  291  
 292  292                  p = s;
 293  293          }
 294  294  
 295  295          /*
 296  296           * Okay, we have gone through the entire hash chain and not
 297  297           * found a match. We just need to add this node.
 298  298           */
 299  299          sh->sh_next = sht->s_buckets[iHash].ssh_sh;
 300  300          sht->s_buckets[iHash].ssh_sh = sh;
 301      -        atomic_add_32(&sht->s_buckets[iHash].ssh_count, 1);
 302      -        atomic_add_32(&sht->s_count, 1);
 303      -        atomic_add_32(&sharetab_count, 1);
      301 +        atomic_inc_32(&sht->s_buckets[iHash].ssh_count);
      302 +        atomic_inc_32(&sht->s_count);
      303 +        atomic_inc_32(&sharetab_count);
 304  304          sharetab_size += sh->sh_size;
 305  305  
 306  306          gethrestime(&sharetab_mtime);
 307      -        atomic_add_32(&sharetab_generation, 1);
      307 +        atomic_inc_32(&sharetab_generation);
 308  308  
 309  309          rw_exit(&sharetab_lock);
 310  310  
 311  311          return (0);
 312  312  }
 313  313  
 314  314  void
 315  315  sharefs_sharetab_init(void)
 316  316  {
 317  317          rw_init(&sharetab_lock, NULL, RW_DEFAULT, NULL);
↓ open down ↓ 122 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX