Print this page
9018 Replace kmem_cache_reap_now() with kmem_cache_reap_soon()
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/vmem.c
          +++ new/usr/src/uts/common/os/vmem.c
↓ open down ↓ 17 lines elided ↑ open up ↑
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26   26  /*
  27   27   * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
  28      - * Copyright (c) 2012, Joyent, Inc. All rights reserved.
       28 + * Copyright (c) 2018, Joyent, Inc.
  29   29   */
  30   30  
  31   31  /*
  32   32   * Big Theory Statement for the virtual memory allocator.
  33   33   *
  34   34   * For a more complete description of the main ideas, see:
  35   35   *
  36   36   *      Jeff Bonwick and Jonathan Adams,
  37   37   *
  38   38   *      Magazines and vmem: Extending the Slab Allocator to Many CPUs and
↓ open down ↓ 1699 lines elided ↑ open up ↑
1738 1738  void
1739 1739  vmem_qcache_reap(vmem_t *vmp)
1740 1740  {
1741 1741          int i;
1742 1742  
1743 1743          /*
1744 1744           * Reap any quantum caches that may be part of this vmem.
1745 1745           */
1746 1746          for (i = 0; i < VMEM_NQCACHE_MAX; i++)
1747 1747                  if (vmp->vm_qcache[i])
1748      -                        kmem_cache_reap_now(vmp->vm_qcache[i]);
     1748 +                        kmem_cache_reap_soon(vmp->vm_qcache[i]);
1749 1749  }
1750 1750  
1751 1751  /*
1752 1752   * Prepare vmem for use.
1753 1753   */
1754 1754  vmem_t *
1755 1755  vmem_init(const char *heap_name,
1756 1756      void *heap_start, size_t heap_size, size_t heap_quantum,
1757 1757      void *(*heap_alloc)(vmem_t *, size_t, int),
1758 1758      void (*heap_free)(vmem_t *, void *, size_t))
↓ open down ↓ 40 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX