Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Christian Limpach <cl@netbsd.org>
List: source-changes
Date: 03/14/2004 01:08:50
Module Name:	src
Committed By:	cl
Date:		Sun Mar 14 01:08:50 UTC 2004

Modified Files:
	src/sys/arch/alpha/alpha: trap.c
	src/sys/arch/amd64/amd64: trap.c
	src/sys/arch/amiga/amiga: trap.c
	src/sys/arch/arm/arm32: fault.c
	src/sys/arch/atari/atari: trap.c
	src/sys/arch/cesfic/cesfic: trap.c
	src/sys/arch/hp300/hp300: trap.c
	src/sys/arch/hppa/hppa: trap.c
	src/sys/arch/i386/i386: trap.c
	src/sys/arch/luna68k/luna68k: trap.c
	src/sys/arch/mac68k/mac68k: trap.c
	src/sys/arch/mips/mips: trap.c
	src/sys/arch/mvme68k/mvme68k: trap.c
	src/sys/arch/news68k/news68k: trap.c
	src/sys/arch/next68k/next68k: trap.c
	src/sys/arch/pc532/pc532: trap.c
	src/sys/arch/powerpc/ibm4xx: trap.c
	src/sys/arch/powerpc/powerpc: trap.c
	src/sys/arch/sh3/sh3: exception.c
	src/sys/arch/sh5/sh5: trap.c
	src/sys/arch/sparc/sparc: trap.c
	src/sys/arch/sparc64/sparc64: trap.c
	src/sys/arch/sun2/sun2: trap.c
	src/sys/arch/sun3/sun3: trap.c
	src/sys/arch/vax/vax: trap.c
	src/sys/arch/x68k/x68k: trap.c
	src/sys/arch/xen/i386: trap.c
	src/sys/kern: kern_exit.c kern_proc.c kern_sa.c kern_sig.c kern_synch.c
	    kern_time.c
	src/sys/sys: lwp.h savar.h

Log Message:
add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP


To generate a diff of this commit:
cvs rdiff -r1.90 -r1.91 src/sys/arch/alpha/alpha/trap.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/amd64/amd64/trap.c
cvs rdiff -r1.99 -r1.100 src/sys/arch/amiga/amiga/trap.c
cvs rdiff -r1.48 -r1.49 src/sys/arch/arm/arm32/fault.c
cvs rdiff -r1.75 -r1.76 src/sys/arch/atari/atari/trap.c
cvs rdiff -r1.18 -r1.19 src/sys/arch/cesfic/cesfic/trap.c
cvs rdiff -r1.109 -r1.110 src/sys/arch/hp300/hp300/trap.c
cvs rdiff -r1.14 -r1.15 src/sys/arch/hppa/hppa/trap.c
cvs rdiff -r1.199 -r1.200 src/sys/arch/i386/i386/trap.c
cvs rdiff -r1.29 -r1.30 src/sys/arch/luna68k/luna68k/trap.c
cvs rdiff -r1.110 -r1.111 src/sys/arch/mac68k/mac68k/trap.c
cvs rdiff -r1.191 -r1.192 src/sys/arch/mips/mips/trap.c
cvs rdiff -r1.73 -r1.74 src/sys/arch/mvme68k/mvme68k/trap.c
cvs rdiff -r1.35 -r1.36 src/sys/arch/news68k/news68k/trap.c
cvs rdiff -r1.49 -r1.50 src/sys/arch/next68k/next68k/trap.c
cvs rdiff -r1.63 -r1.64 src/sys/arch/pc532/pc532/trap.c
cvs rdiff -r1.21 -r1.22 src/sys/arch/powerpc/ibm4xx/trap.c
cvs rdiff -r1.97 -r1.98 src/sys/arch/powerpc/powerpc/trap.c
cvs rdiff -r1.17 -r1.18 src/sys/arch/sh3/sh3/exception.c
cvs rdiff -r1.31 -r1.32 src/sys/arch/sh5/sh5/trap.c
cvs rdiff -r1.152 -r1.153 src/sys/arch/sparc/sparc/trap.c
cvs rdiff -r1.115 -r1.116 src/sys/arch/sparc64/sparc64/trap.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/sun2/sun2/trap.c
cvs rdiff -r1.115 -r1.116 src/sys/arch/sun3/sun3/trap.c
cvs rdiff -r1.92 -r1.93 src/sys/arch/vax/vax/trap.c
cvs rdiff -r1.71 -r1.72 src/sys/arch/x68k/x68k/trap.c
cvs rdiff -r1.1 -r1.2 src/sys/arch/xen/i386/trap.c
cvs rdiff -r1.138 -r1.139 src/sys/kern/kern_exit.c
cvs rdiff -r1.74 -r1.75 src/sys/kern/kern_proc.c
cvs rdiff -r1.48 -r1.49 src/sys/kern/kern_sa.c
cvs rdiff -r1.186 -r1.187 src/sys/kern/kern_sig.c
cvs rdiff -r1.141 -r1.142 src/sys/kern/kern_synch.c
cvs rdiff -r1.81 -r1.82 src/sys/kern/kern_time.c
cvs rdiff -r1.20 -r1.21 src/sys/sys/lwp.h
cvs rdiff -r1.14 -r1.15 src/sys/sys/savar.h

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