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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/inet/ilb/ilb.c
          +++ new/usr/src/uts/common/inet/ilb/ilb.c
↓ open down ↓ 16 lines elided ↑ open up ↑
  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 2009 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
       27 +#include <sys/sysmacros.h>
  27   28  #include <sys/kmem.h>
  28   29  #include <sys/ksynch.h>
  29   30  #include <sys/systm.h>
  30   31  #include <sys/socket.h>
  31   32  #include <sys/disp.h>
  32   33  #include <sys/taskq.h>
  33   34  #include <sys/cmn_err.h>
  34   35  #include <sys/strsun.h>
  35   36  #include <sys/sdt.h>
  36   37  #include <sys/atomic.h>
↓ open down ↓ 240 lines elided ↑ open up ↑
 277  278  /* Initialize the rule hash table. */
 278  279  static void
 279  280  ilb_rule_hash_init(ilb_stack_t *ilbs)
 280  281  {
 281  282          int i;
 282  283  
 283  284          /*
 284  285           * If ilbs->ilbs_rule_hash_size is not a power of 2, bump it up to
 285  286           * the next power of 2.
 286  287           */
 287      -        if (ilbs->ilbs_rule_hash_size & (ilbs->ilbs_rule_hash_size - 1)) {
      288 +        if (!ISP2(ilbs->ilbs_rule_hash_size)) {
 288  289                  for (i = 0; i < 31; i++) {
 289  290                          if (ilbs->ilbs_rule_hash_size < (1 << i))
 290  291                                  break;
 291  292                  }
 292  293                  ilbs->ilbs_rule_hash_size = 1 << i;
 293  294          }
 294  295          ilbs->ilbs_g_hash = kmem_zalloc(sizeof (ilb_hash_t) *
 295  296              ilbs->ilbs_rule_hash_size, KM_SLEEP);
 296  297          for (i = 0; i < ilbs->ilbs_rule_hash_size; i++) {
 297  298                  mutex_init(&ilbs->ilbs_g_hash[i].ilb_hash_lock, NULL,
↓ open down ↓ 1859 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX