cvs commit: src/sys/dev/hwpmc hwpmc_mod.c src/sys/dev/random
randomdev_soft.c src/sys/kern kern_intr.c kern_poll.c
kern_synch.c kern_thr.c kern_umtx.c sched_4bsd.c
subr_taskqueue.c uipc_mqueue.c src/sys/vm vm_zeroidle.c
glebius at FreeBSD.org
Tue Apr 18 08:10:49 UTC 2006
On Mon, Apr 17, 2006 at 03:14:03PM -0400, John Baldwin wrote:
J> > Change msleep() and tsleep() to not alter the calling thread's priority
J> > if the specified priority is zero. This avoids a race where the calling
J> > thread could read a snapshot of it's current priority, then a different
J> > thread could change the first thread's priority, then the original thread
J> > would call sched_prio() inside msleep() undoing the change made by the
J> > second thread. I used a priority of zero as no thread that calls msleep()
J> > or tsleep() should be specifying a priority of zero anyway.
J> > The various places that passed 'curthread->td_priority' or some variant
J> > as the priority now pass 0.
J> This should fix the problem where the first acpi taskq would run with
J> a bogus priority (the sched_prio() when creating the taskqueue seemed
J> to be ignored).
Sorry for probably lame guess... Is this going to fix the problem with
ACPI and new taskqueues?
Totus tuus, Glebius.
More information about the cvs-src