Print this page
8115 parallel zfs mount

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/taskq.h
          +++ new/usr/src/uts/common/sys/taskq.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 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   *
  25   25   * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
       26 + * Copyright 2017 RackTop Systems.
  26   27   */
  27   28  
  28   29  #ifndef _SYS_TASKQ_H
  29   30  #define _SYS_TASKQ_H
  30   31  
  31   32  #include <sys/types.h>
  32   33  #include <sys/thread.h>
  33   34  
  34   35  #ifdef  __cplusplus
  35   36  extern "C" {
↓ open down ↓ 19 lines elided ↑ open up ↑
  55   56  /*
  56   57   * Flags for taskq_dispatch. TQ_SLEEP/TQ_NOSLEEP should be same as
  57   58   * KM_SLEEP/KM_NOSLEEP.
  58   59   */
  59   60  #define TQ_SLEEP        0x00    /* Can block for memory */
  60   61  #define TQ_NOSLEEP      0x01    /* cannot block for memory; may fail */
  61   62  #define TQ_NOQUEUE      0x02    /* Do not enqueue if can't dispatch */
  62   63  #define TQ_NOALLOC      0x04    /* cannot allocate memory; may fail */
  63   64  #define TQ_FRONT        0x08    /* Put task at the front of the queue */
  64   65  
  65      -#if defined(_KERNEL) || defined(_FAKE_KERNEL)
       66 +#if defined(_KERNEL) || defined(_FAKE_KERNEL) || defined(_TASKQUSER)
  66   67  
  67   68  extern taskq_t *system_taskq;
  68   69  
  69   70  extern void     taskq_init(void);
  70   71  extern void     taskq_mp_init(void);
  71   72  
  72   73  extern taskq_t  *taskq_create(const char *, int, pri_t, int, int, uint_t);
  73   74  extern taskq_t  *taskq_create_instance(const char *, int, int, pri_t, int,
  74   75      int, uint_t);
  75   76  extern taskq_t  *taskq_create_proc(const char *, int, pri_t, int, int,
↓ open down ↓ 2 lines elided ↑ open up ↑
  78   79      struct proc *, uint_t, uint_t);
  79   80  extern taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
  80   81  extern void     nulltask(void *);
  81   82  extern void     taskq_destroy(taskq_t *);
  82   83  extern void     taskq_wait(taskq_t *);
  83   84  extern void     taskq_suspend(taskq_t *);
  84   85  extern int      taskq_suspended(taskq_t *);
  85   86  extern void     taskq_resume(taskq_t *);
  86   87  extern int      taskq_member(taskq_t *, kthread_t *);
  87   88  
  88      -#endif  /* _KERNEL */
       89 +#endif  /* _KERNEL || _FAKE_KERNEL || _TASKQUSER */
  89   90  
  90   91  #ifdef  __cplusplus
  91   92  }
  92   93  #endif
  93   94  
  94   95  #endif  /* _SYS_TASKQ_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX