Date: Mon, 4 Mar 2019 00:49:07 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r344743 - head/sys/cam/ctl Message-ID: <201903040049.x240n7JV092136@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Mon Mar 4 00:49:07 2019 New Revision: 344743 URL: https://svnweb.freebsd.org/changeset/base/344743 Log: Reduce CTL threads priority to about PUSER. Since in most configurations CTL serves as network service, we found that this change improves local system interactivity under heavy load. Priority of main threads is set slightly higher then worker taskqueues to make them quickly sort incoming requests not creating bottlenecks, while plenty of worker taskqueues should be less sensitive to latency. MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/sys/cam/ctl/ctl.c head/sys/cam/ctl/ctl_backend_block.c head/sys/cam/ctl/ctl_backend_ramdisk.c Modified: head/sys/cam/ctl/ctl.c ============================================================================== --- head/sys/cam/ctl/ctl.c Sun Mar 3 19:55:06 2019 (r344742) +++ head/sys/cam/ctl/ctl.c Mon Mar 4 00:49:07 2019 (r344743) @@ -66,6 +66,8 @@ __FBSDID("$FreeBSD$"); #include <sys/sbuf.h> #include <sys/smp.h> #include <sys/endian.h> +#include <sys/proc.h> +#include <sys/sched.h> #include <sys/sysctl.h> #include <sys/nv.h> #include <sys/dnv.h> @@ -13191,6 +13193,9 @@ ctl_work_thread(void *arg) int retval; CTL_DEBUG_PRINT(("ctl_work_thread starting\n")); + thread_lock(curthread); + sched_prio(curthread, PUSER - 1); + thread_unlock(curthread); while (!softc->shutdown) { /* @@ -13240,7 +13245,7 @@ ctl_work_thread(void *arg) } /* Sleep until we have something to do. */ - mtx_sleep(thr, &thr->queue_lock, PDROP | PRIBIO, "-", 0); + mtx_sleep(thr, &thr->queue_lock, PDROP, "-", 0); } thr->thread = NULL; kthread_exit(); @@ -13253,6 +13258,9 @@ ctl_lun_thread(void *arg) struct ctl_be_lun *be_lun; CTL_DEBUG_PRINT(("ctl_lun_thread starting\n")); + thread_lock(curthread); + sched_prio(curthread, PUSER - 1); + thread_unlock(curthread); while (!softc->shutdown) { mtx_lock(&softc->ctl_lock); @@ -13266,7 +13274,7 @@ ctl_lun_thread(void *arg) /* Sleep until we have something to do. */ mtx_sleep(&softc->pending_lun_queue, &softc->ctl_lock, - PDROP | PRIBIO, "-", 0); + PDROP, "-", 0); } softc->lun_thread = NULL; kthread_exit(); @@ -13284,6 +13292,9 @@ ctl_thresh_thread(void *arg) int i, e, set; CTL_DEBUG_PRINT(("ctl_thresh_thread starting\n")); + thread_lock(curthread); + sched_prio(curthread, PUSER - 1); + thread_unlock(curthread); while (!softc->shutdown) { mtx_lock(&softc->ctl_lock); @@ -13371,7 +13382,7 @@ ctl_thresh_thread(void *arg) } } mtx_sleep(&softc->thresh_thread, &softc->ctl_lock, - PDROP | PRIBIO, "-", CTL_LBP_PERIOD * hz); + PDROP, "-", CTL_LBP_PERIOD * hz); } softc->thresh_thread = NULL; kthread_exit(); Modified: head/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_block.c Sun Mar 3 19:55:06 2019 (r344742) +++ head/sys/cam/ctl/ctl_backend_block.c Mon Mar 4 00:49:07 2019 (r344743) @@ -2381,7 +2381,7 @@ ctl_be_block_create(struct ctl_be_block_softc *softc, */ retval = taskqueue_start_threads(&be_lun->io_taskqueue, /*num threads*/num_threads, - /*priority*/PWAIT, + /*priority*/PUSER, /*thread name*/ "%s taskq", be_lun->lunname); Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_ramdisk.c Sun Mar 3 19:55:06 2019 (r344742) +++ head/sys/cam/ctl/ctl_backend_ramdisk.c Mon Mar 4 00:49:07 2019 (r344743) @@ -1149,7 +1149,7 @@ ctl_backend_ramdisk_create(struct ctl_be_ramdisk_softc retval = taskqueue_start_threads(&be_lun->io_taskqueue, /*num threads*/1, - /*priority*/PWAIT, + /*priority*/PUSER, /*thread name*/ "%s taskq", be_lun->lunname); if (retval != 0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903040049.x240n7JV092136>