Print this page
5255 uts shouldn't open-code ISP2

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/group.c
          +++ new/usr/src/uts/common/os/group.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  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   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
       26 +#include <sys/sysmacros.h>
  26   27  #include <sys/systm.h>
  27   28  #include <sys/param.h>
  28   29  #include <sys/debug.h>
  29   30  #include <sys/kmem.h>
  30   31  #include <sys/group.h>
  31   32  #include <sys/cmn_err.h>
  32   33  
  33   34  
  34   35  #define GRP_SET_SIZE_DEFAULT 2
  35   36  
↓ open down ↓ 88 lines elided ↑ open up ↑
 124  125                  if (g->grp_set[i] == e)
 125  126                          break;
 126  127          if (g->grp_set[i] != e)
 127  128                  return (-1);
 128  129  
 129  130          g->grp_set[i] = NULL;
 130  131          group_pack_set(g->grp_set, g->grp_size);
 131  132          g->grp_size--;
 132  133  
 133  134          if ((gflag & GRP_RESIZE) &&
 134      -            g->grp_size > GRP_SET_SIZE_DEFAULT &&
 135      -            ((g->grp_size - 1) & g->grp_size) == 0)
      135 +            g->grp_size > GRP_SET_SIZE_DEFAULT && ISP2(g->grp_size))
 136  136                  group_shrink_set(g);
 137  137  
 138  138          return (0);
 139  139  }
 140  140  
 141  141  /*
 142  142   * Expand the capacity of group "g" so that it may
 143  143   * contain at least "n" elements
 144  144   */
 145  145  void
↓ open down ↓ 309 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX