svn commit: r328796 - stable/11/sys/kern
Alexander Motin
mav at FreeBSD.org
Fri Feb 2 17:56:48 UTC 2018
Author: mav
Date: Fri Feb 2 17:56:47 2018
New Revision: 328796
URL: https://svnweb.freebsd.org/changeset/base/328796
Log:
MFC r307041 (by sbruno):
Fix bug where malloc(.., M_NOWAIT) return value is not checked, Change to
M_WAITOK and move outside the mutex
Modified:
stable/11/sys/kern/subr_gtaskqueue.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/kern/subr_gtaskqueue.c
==============================================================================
--- stable/11/sys/kern/subr_gtaskqueue.c Fri Feb 2 17:52:09 2018 (r328795)
+++ stable/11/sys/kern/subr_gtaskqueue.c Fri Feb 2 17:56:47 2018 (r328796)
@@ -729,7 +729,7 @@ taskqgroup_bind(struct taskqgroup *qgroup)
* one.
*/
for (i = 0; i < qgroup->tqg_cnt; i++) {
- gtask = malloc(sizeof (*gtask), M_DEVBUF, M_NOWAIT);
+ gtask = malloc(sizeof (*gtask), M_DEVBUF, M_WAITOK);
GTASK_INIT(>ask->bt_task, 0, 0, taskqgroup_binder, gtask);
gtask->bt_cpuid = qgroup->tqg_queue[i].tgc_cpu;
grouptaskqueue_enqueue(qgroup->tqg_queue[i].tgc_taskq,
@@ -828,10 +828,10 @@ _taskqgroup_adjust(struct taskqgroup *qgroup, int cnt,
for (i = cnt; i < old_cnt; i++)
taskqgroup_cpu_remove(qgroup, i);
+ taskqgroup_bind(qgroup);
+
mtx_lock(&qgroup->tqg_lock);
qgroup->tqg_adjusting = 0;
-
- taskqgroup_bind(qgroup);
return (0);
}
More information about the svn-src-stable
mailing list