Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2006 12:10:36 +0400
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>, sam@FreeBSD.org
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: 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
Message-ID:  <20060418081036.GU84736@FreeBSD.org>
In-Reply-To: <200604171514.06482.jhb@freebsd.org>
References:  <200604171820.k3HIKcx3068404@repoman.freebsd.org> <200604171514.06482.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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> >   
J> >   The various places that passed 'curthread->td_priority' or some variant
J> >   as the priority now pass 0.
J> 
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.
GLEBIUS-RIPN GLEB-RIPE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060418081036.GU84736>