Sam Leffler wrote:

Maybe this is the same problem jhb recently fixed in head with threads getting assigned the wrong priority under certain conditions (it showed up most easily with taskq threads).

Is it this one:

jhb         2006-04-17 18:20:38 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/hwpmc        hwpmc_mod.c
    sys/dev/random       randomdev_soft.c
    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
    sys/vm               vm_zeroidle.c
  Log:
  Change msleep() and tsleep() to not alter the calling thread's priority
  if the specified priority is zero.  This avoids a race where the calling
  thread could read a snapshot of it's current priority, then a different
  thread could change the first thread's priority, then the original thread
  would call sched_prio() inside msleep() undoing the change made by the
second thread. I used a priority of zero as no thread that calls msleep()
  or tsleep() should be specifying a priority of zero anyway.

  The various places that passed 'curthread->td_priority' or some variant
  as the priority now pass 0.

  Revision  Changes    Path
  1.24      +1 -8      src/sys/dev/hwpmc/hwpmc_mod.c
  1.13      +2 -4      src/sys/dev/random/randomdev_soft.c
  1.132     +3 -5      src/sys/kern/kern_intr.c
  1.26      +1 -3      src/sys/kern/kern_poll.c
  1.279     +5 -3      src/sys/kern/kern_synch.c
  1.43      +2 -2      src/sys/kern/kern_thr.c
  1.36      +4 -6      src/sys/kern/kern_umtx.c
  1.78      +1 -1      src/sys/kern/sched_4bsd.c
  1.36      +1 -1      src/sys/kern/subr_taskqueue.c
  1.15      +2 -2      src/sys/kern/uipc_mqueue.c
  1.37      +1 -3      src/sys/vm/vm_zeroidle.c


Would it be enough just to apply this change to my 6.1-R tree:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/vm/vm_zeroidle.c.diff?r1=1.36&r2=1.37

?

It's probably not, so: any chance of MFC-ing the commit? :)
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to