Print this page
OS-6363 system went to dark side of moon for ~467 seconds OS-6404 ARC reclaim should throttle its calls to arc_kmem_reap_now() Reviewed by: Bryan Cantrill <bryan@joyent.com> Reviewed by: Dan McDonald <danmcd@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libzpool/common/sys/zfs_context.h
          +++ new/usr/src/lib/libzpool/common/sys/zfs_context.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  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 (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  24   24   * Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  25      - * Copyright (c) 2012, Joyent, Inc. All rights reserved.
       25 + * Copyright (c) 2017, Joyent, Inc. All rights reserved.
  26   26   */
  27   27  
  28   28  #ifndef _SYS_ZFS_CONTEXT_H
  29   29  #define _SYS_ZFS_CONTEXT_H
  30   30  
  31   31  #ifdef  __cplusplus
  32   32  extern "C" {
  33   33  #endif
  34   34  
  35   35  #define _SYS_MUTEX_H
↓ open down ↓ 290 lines elided ↑ open up ↑
 326  326  #define KMC_NOTOUCH             0       /* not needed for userland caches */
 327  327  #define kmem_alloc(_s, _f)      umem_alloc(_s, _f)
 328  328  #define kmem_zalloc(_s, _f)     umem_zalloc(_s, _f)
 329  329  #define kmem_free(_b, _s)       umem_free(_b, _s)
 330  330  #define kmem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i) \
 331  331          umem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i)
 332  332  #define kmem_cache_destroy(_c)  umem_cache_destroy(_c)
 333  333  #define kmem_cache_alloc(_c, _f) umem_cache_alloc(_c, _f)
 334  334  #define kmem_cache_free(_c, _b) umem_cache_free(_c, _b)
 335  335  #define kmem_debugging()        0
 336      -#define kmem_cache_reap_now(_c)         /* nothing */
      336 +#define kmem_cache_reap_active()        (B_FALSE)
      337 +#define kmem_cache_reap_soon(_c)        /* nothing */
 337  338  #define kmem_cache_set_move(_c, _cb)    /* nothing */
 338  339  #define vmem_qcache_reap(_v)            /* nothing */
 339  340  #define POINTER_INVALIDATE(_pp)         /* nothing */
 340  341  #define POINTER_IS_VALID(_p)    0
 341  342  
 342  343  extern vmem_t *zio_arena;
 343  344  
 344  345  typedef umem_cache_t kmem_cache_t;
 345  346  
 346  347  typedef enum kmem_cbrc {
↓ open down ↓ 37 lines elided ↑ open up ↑
 384  385  
 385  386  extern taskq_t  *taskq_create(const char *, int, pri_t, int, int, uint_t);
 386  387  #define taskq_create_proc(a, b, c, d, e, p, f) \
 387  388              (taskq_create(a, b, c, d, e, f))
 388  389  #define taskq_create_sysdc(a, b, d, e, p, dc, f) \
 389  390              (taskq_create(a, b, maxclsyspri, d, e, f))
 390  391  extern taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
 391  392  extern void     taskq_dispatch_ent(taskq_t *, task_func_t, void *, uint_t,
 392  393      taskq_ent_t *);
 393  394  extern void     taskq_destroy(taskq_t *);
      395 +extern boolean_t taskq_empty(taskq_t *);
 394  396  extern void     taskq_wait(taskq_t *);
 395  397  extern int      taskq_member(taskq_t *, void *);
 396  398  extern void     system_taskq_init(void);
 397  399  extern void     system_taskq_fini(void);
 398  400  
 399  401  #define XVA_MAPSIZE     3
 400  402  #define XVA_MAGIC       0x78766174
 401  403  
 402  404  /*
 403  405   * vnodes
↓ open down ↓ 297 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX