Author: mav
Date: Sat May 24 13:00:49 2014
New Revision: 266615
URL: http://svnweb.freebsd.org/changeset/base/266615

Log:
  Increase taskqueue thread priority from idle to PRIBIO.
  
  Idle priority is not even time-share, so if system is busy in any way,
  those events may never be executed.  Since in some cases system waits
  for events processed by that thread, that may cause deadlocks.

Modified:
  head/sys/dev/mpr/mpr_sas.c
  head/sys/dev/mps/mps_sas.c

Modified: head/sys/dev/mpr/mpr_sas.c
==============================================================================
--- head/sys/dev/mpr/mpr_sas.c  Sat May 24 12:16:33 2014        (r266614)
+++ head/sys/dev/mpr/mpr_sas.c  Sat May 24 13:00:49 2014        (r266615)
@@ -764,9 +764,7 @@ mpr_attach_sas(struct mpr_softc *sc)
        TASK_INIT(&sassc->ev_task, 0, mprsas_firmware_event_work, sc);
        sassc->ev_tq = taskqueue_create("mpr_taskq", M_NOWAIT | M_ZERO,
            taskqueue_thread_enqueue, &sassc->ev_tq);
-
-       /* Run the task queue with lowest priority */
-       taskqueue_start_threads(&sassc->ev_tq, 1, 255, "%s taskq", 
+       taskqueue_start_threads(&sassc->ev_tq, 1, PRIBIO, "%s taskq", 
            device_get_nameunit(sc->mpr_dev));
 
        mpr_lock(sc);

Modified: head/sys/dev/mps/mps_sas.c
==============================================================================
--- head/sys/dev/mps/mps_sas.c  Sat May 24 12:16:33 2014        (r266614)
+++ head/sys/dev/mps/mps_sas.c  Sat May 24 13:00:49 2014        (r266615)
@@ -749,9 +749,7 @@ mps_attach_sas(struct mps_softc *sc)
        TASK_INIT(&sassc->ev_task, 0, mpssas_firmware_event_work, sc);
        sassc->ev_tq = taskqueue_create("mps_taskq", M_NOWAIT | M_ZERO,
            taskqueue_thread_enqueue, &sassc->ev_tq);
-
-       /* Run the task queue with lowest priority */
-       taskqueue_start_threads(&sassc->ev_tq, 1, 255, "%s taskq", 
+       taskqueue_start_threads(&sassc->ev_tq, 1, PRIBIO, "%s taskq", 
            device_get_nameunit(sc->mps_dev));
 
        mps_lock(sc);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to