NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-xen/48873: xbdback kernel thread created with wrong priority
>Number: 48873
>Category: port-xen
>Synopsis: xbdback kernel thread created with wrong priority
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: port-xen-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jun 05 00:00:00 +0000 2014
>Originator: Andy Tucker
>Release: 6.1.4
>Organization:
Bracket Computing
>Environment:
>Description:
I noticed that the xbdback_xenbus driver (the backend driver for the Xen
virtual block device) is passing the wrong value for the thread priority when
creating a worker thread. It has:
if (kthread_create(IPL_NONE, KTHREAD_MPSAFE, NULL,
xbdback_thread, xbdi, NULL, "%s", xbdi->xbdi_name) == 0)
but the first argument of kthread_create is a thread priority, not an IPL.
IPL_NONE evaluates to 0 on amd64, which results in a priority of 0. I assume
that what was intended was PRI_NONE, which will result in a priority of
PRI_KTHREAD or 96.
A priority of 0 could result in a priority inversion problem with user threads,
where a spinning user level process prevents the xbdback thread from running
and processing block I/O requests.
>How-To-Repeat:
>Fix:
Change IPL_NONE to PRI_NONE.
Home |
Main Index |
Thread Index |
Old Index