Print this page
4045 zfs write throttle & i/o scheduler performance work
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/txg.h
          +++ new/usr/src/uts/common/fs/zfs/sys/txg.h
↓ 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 2010 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  /*
  26      - * Copyright (c) 2012 by Delphix. All rights reserved.
       26 + * Copyright (c) 2013 by Delphix. All rights reserved.
  27   27   */
  28   28  
  29   29  #ifndef _SYS_TXG_H
  30   30  #define _SYS_TXG_H
  31   31  
  32   32  #include <sys/spa.h>
  33   33  #include <sys/zfs_context.h>
  34   34  
  35   35  #ifdef  __cplusplus
  36   36  extern "C" {
↓ open down ↓ 32 lines elided ↑ open up ↑
  69   69  extern void txg_fini(struct dsl_pool *dp);
  70   70  extern void txg_sync_start(struct dsl_pool *dp);
  71   71  extern void txg_sync_stop(struct dsl_pool *dp);
  72   72  extern uint64_t txg_hold_open(struct dsl_pool *dp, txg_handle_t *txghp);
  73   73  extern void txg_rele_to_quiesce(txg_handle_t *txghp);
  74   74  extern void txg_rele_to_sync(txg_handle_t *txghp);
  75   75  extern void txg_register_callbacks(txg_handle_t *txghp, list_t *tx_callbacks);
  76   76  
  77   77  extern void txg_delay(struct dsl_pool *dp, uint64_t txg, hrtime_t delta,
  78   78      hrtime_t resolution);
       79 +extern void txg_kick(struct dsl_pool *dp);
  79   80  
  80   81  /*
  81   82   * Wait until the given transaction group has finished syncing.
  82   83   * Try to make this happen as soon as possible (eg. kick off any
  83   84   * necessary syncs immediately).  If txg==0, wait for the currently open
  84   85   * txg to finish syncing.
  85   86   */
  86   87  extern void txg_wait_synced(struct dsl_pool *dp, uint64_t txg);
  87   88  
  88   89  /*
↓ open down ↓ 38 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX