summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/kmem.c
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2019-03-20 17:29:38 +0200
committerToomas Soome <tsoome@me.com>2019-03-28 16:47:03 +0200
commitfc8ae2ec4282de7ec96f48e11078345f3dc0ac3d (patch)
tree3c41e9c5ecf5f5c172efd2216f79327fd2ad2be5 /usr/src/uts/common/os/kmem.c
parentbcb78a453dcc6eaa7c33432fac3626514e243154 (diff)
downloadillumos-joyent-fc8ae2ec4282de7ec96f48e11078345f3dc0ac3d.tar.gz
10573 define TASKQID_INVALID as (taskq_id)0
Reviewed by: Andy Stormont <astormont@racktopsystems.com> Reviewed by: Gergő Doma <domag02@gmail.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/uts/common/os/kmem.c')
-rw-r--r--usr/src/uts/common/os/kmem.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/usr/src/uts/common/os/kmem.c b/usr/src/uts/common/os/kmem.c
index 5f85f396ec..bc0cda418b 100644
--- a/usr/src/uts/common/os/kmem.c
+++ b/usr/src/uts/common/os/kmem.c
@@ -3084,7 +3084,8 @@ kmem_reap_start(void *flag)
* we won't reap again until the current reap completes *and*
* at least kmem_reap_interval ticks have elapsed.
*/
- if (!taskq_dispatch(kmem_taskq, kmem_reap_done, flag, TQ_NOSLEEP))
+ if (taskq_dispatch(kmem_taskq, kmem_reap_done, flag, TQ_NOSLEEP) ==
+ TASKQID_INVALID)
kmem_reap_done(flag);
}
@@ -3103,7 +3104,8 @@ kmem_reap_common(void *flag_arg)
* start the reap going with a TQ_NOALLOC dispatch. If the dispatch
* fails, we reset the flag, and the next reap will try again.
*/
- if (!taskq_dispatch(kmem_taskq, kmem_reap_start, flag, TQ_NOALLOC))
+ if (taskq_dispatch(kmem_taskq, kmem_reap_start, flag, TQ_NOALLOC) ==
+ TASKQID_INVALID)
*flag = 0;
}
@@ -3378,7 +3380,8 @@ kmem_update(void *dummy)
* kmem_update() becomes self-throttling: it won't schedule
* new tasks until all previous tasks have completed.
*/
- if (!taskq_dispatch(kmem_taskq, kmem_update_timeout, dummy, TQ_NOSLEEP))
+ if (taskq_dispatch(kmem_taskq, kmem_update_timeout, dummy, TQ_NOSLEEP)
+ == TASKQID_INVALID)
kmem_update_timeout(NULL);
}
@@ -4857,8 +4860,8 @@ kmem_move_begin(kmem_cache_t *cp, kmem_slab_t *sp, void *buf, int flags)
mutex_exit(&cp->cache_lock);
- if (!taskq_dispatch(kmem_move_taskq, (task_func_t *)kmem_move_buffer,
- callback, TQ_NOSLEEP)) {
+ if (taskq_dispatch(kmem_move_taskq, (task_func_t *)kmem_move_buffer,
+ callback, TQ_NOSLEEP) == TASKQID_INVALID) {
mutex_enter(&cp->cache_lock);
avl_remove(&cp->cache_defrag->kmd_moves_pending, callback);
mutex_exit(&cp->cache_lock);
@@ -5205,9 +5208,9 @@ kmem_cache_move_notify(kmem_cache_t *cp, void *buf)
if (args != NULL) {
args->kmna_cache = cp;
args->kmna_buf = buf;
- if (!taskq_dispatch(kmem_taskq,
+ if (taskq_dispatch(kmem_taskq,
(task_func_t *)kmem_cache_move_notify_task, args,
- TQ_NOSLEEP))
+ TQ_NOSLEEP) == TASKQID_INVALID)
kmem_free(args, sizeof (kmem_move_notify_args_t));
}
}