Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   ad
Date:           Sat Sep 23 18:48:05 UTC 2023

Modified Files:
        src/sys/kern: kern_condvar.c kern_lwp.c kern_mutex.c kern_rwlock.c
            kern_sleepq.c kern_synch.c kern_timeout.c kern_turnstile.c
            sys_lwp.c sys_select.c
        src/sys/rump/librump/rumpkern: sleepq.c
        src/sys/sys: lwp.h sleepq.h syncobj.h userret.h

Log Message:
- Simplify how priority boost for blocking in kernel is handled.  Rather
  than setting it up at each site where we block, make it a property of
  syncobj_t.  Then, do not hang onto the priority boost until userret(),
  drop it as soon as the LWP is out of the run queue and onto a CPU.
  Holding onto it longer is of questionable benefit.

- This allows two members of lwp_t to be deleted, and mi_userret() to be
  simplified a lot (next step: trim it down to a single conditional).

- While here, constify syncobj_t and de-inline a bunch of small functions
  like lwp_lock() which turn out not to be small after all (I don't know
  why, but atomic_*_relaxed() seem to provoke a compiler shitfit above and
  beyond what volatile does).


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/sys/kern/kern_condvar.c
cvs rdiff -u -r1.255 -r1.256 src/sys/kern/kern_lwp.c
cvs rdiff -u -r1.109 -r1.110 src/sys/kern/kern_mutex.c
cvs rdiff -u -r1.72 -r1.73 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.74 -r1.75 src/sys/kern/kern_sleepq.c
cvs rdiff -u -r1.358 -r1.359 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.76 -r1.77 src/sys/kern/kern_timeout.c
cvs rdiff -u -r1.49 -r1.50 src/sys/kern/kern_turnstile.c
cvs rdiff -u -r1.84 -r1.85 src/sys/kern/sys_lwp.c
cvs rdiff -u -r1.61 -r1.62 src/sys/kern/sys_select.c
cvs rdiff -u -r1.23 -r1.24 src/sys/rump/librump/rumpkern/sleepq.c
cvs rdiff -u -r1.220 -r1.221 src/sys/sys/lwp.h
cvs rdiff -u -r1.36 -r1.37 src/sys/sys/sleepq.h
cvs rdiff -u -r1.15 -r1.16 src/sys/sys/syncobj.h
cvs rdiff -u -r1.33 -r1.34 src/sys/sys/userret.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index