summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_proc.c
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2002-09-29 23:04:34 +0000
committerjulian <julian@FreeBSD.org>2002-09-29 23:04:34 +0000
commitd91c37553eed3082a93a6edbef2fce6c7629aaf7 (patch)
tree511ef31f5693fdea87543a17c345986c726d9da3 /sys/kern/kern_proc.c
parent054b6a1aae2b1225e80402c333f0e68b8fafe944 (diff)
downloadFreeBSD-src-d91c37553eed3082a93a6edbef2fce6c7629aaf7.zip
FreeBSD-src-d91c37553eed3082a93a6edbef2fce6c7629aaf7.tar.gz
Implement basic KSE loaning. This stops a hread that is blocked in BOUND mode
from stopping another thread from completing a syscall, and this allows it to release its resources etc. Probably more related commits to follow (at least one I know of) Initial concept by: julian, dillon Submitted by: davidxu
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r--sys/kern/kern_proc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index a3ddae0..633c66e 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -249,13 +249,15 @@ ksegrp_link(struct ksegrp *kg, struct proc *p)
TAILQ_INIT(&kg->kg_runq); /* links with td_runq */
TAILQ_INIT(&kg->kg_slpq); /* links with td_runq */
TAILQ_INIT(&kg->kg_kseq); /* all kses in ksegrp */
- TAILQ_INIT(&kg->kg_iq); /* all kses in ksegrp */
+ TAILQ_INIT(&kg->kg_iq); /* idle kses in ksegrp */
+ TAILQ_INIT(&kg->kg_lq); /* loan kses in ksegrp */
kg->kg_proc = p;
/* the following counters are in the -zero- section and may not need clearing */
kg->kg_numthreads = 0;
kg->kg_runnable = 0;
kg->kg_kses = 0;
kg->kg_idle_kses = 0;
+ kg->kg_loan_kses = 0;
kg->kg_runq_kses = 0; /* XXXKSE change name */
/* link it in now that it's consistent */
p->p_numksegrps++;
OpenPOWER on IntegriCloud