Subject: CVS commit: src/sys
To: None <>
From: Christian Limpach <>
List: source-changes
Date: 11/03/2003 22:34:51
Module Name:	src
Committed By:	cl
Date:		Mon Nov  3 22:34:51 UTC 2003

Modified Files:
	src/sys/kern: kern_exit.c kern_sa.c kern_sig.c
	src/sys/sys: lwp.h savar.h

Log Message:
Reimplement VP donation such that multiple unblocked upcalls can be
combined.  Also prepare for adding VP repossession later.

- kern_sa.c: sa_yield/sa_switch: detect if there are pending unblocked
- kern_sa.c: sa_unblock_userret/sa_setwoken: queue LWPs about to invoke
  an unblocked upcall on the sa_wokenq.  put queued LWPs in a state where
  they can be put in the cache.  notify LWP on the VP about pending
- kern_sa.c: sa_upcall_userret: check sa_wokenq for pending upcalls,
  generate unblocked upcalls with multiple event sas
- kern_sa.c: sa_vp_repossess/sa_vp_donate: g/c, restore original

To generate a diff of this commit:
cvs rdiff -r1.124 -r1.125 src/sys/kern/kern_exit.c
cvs rdiff -r1.38 -r1.39 src/sys/kern/kern_sa.c
cvs rdiff -r1.176 -r1.177 src/sys/kern/kern_sig.c
cvs rdiff -r1.12 -r1.13 src/sys/sys/lwp.h
cvs rdiff -r1.10 -r1.11 src/sys/sys/savar.h

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