Source-Changes archive

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

CVS commit: [nathanw_sa] src/sys



Module Name:    src
Committed By:   thorpej
Date:           Tue Jan  7 22:12:48 UTC 2003

Modified Files:
        src/sys/arch/alpha/alpha [nathanw_sa]: trap.c
        src/sys/arch/arm/arm [nathanw_sa]: ast.c undefined.c
        src/sys/arch/arm/fpe-arm [nathanw_sa]: armfpe_init.c
        src/sys/arch/atari/atari [nathanw_sa]: trap.c
        src/sys/arch/cesfic/cesfic [nathanw_sa]: trap.c
        src/sys/arch/hp300/hp300 [nathanw_sa]: trap.c
        src/sys/arch/i386/i386 [nathanw_sa]: trap.c
        src/sys/arch/luna68k/luna68k [nathanw_sa]: trap.c
        src/sys/arch/mac68k/mac68k [nathanw_sa]: trap.c
        src/sys/arch/mips/mips [nathanw_sa]: trap.c
        src/sys/arch/mvme68k/mvme68k [nathanw_sa]: trap.c
        src/sys/arch/news68k/news68k [nathanw_sa]: trap.c
        src/sys/arch/next68k/next68k [nathanw_sa]: trap.c
        src/sys/arch/powerpc/ibm4xx [nathanw_sa]: trap.c
        src/sys/arch/powerpc/powerpc [nathanw_sa]: trap.c
        src/sys/arch/sh3/sh3 [nathanw_sa]: exception.c
        src/sys/arch/sparc/sparc [nathanw_sa]: trap.c
        src/sys/arch/sparc64/sparc64 [nathanw_sa]: trap.c
        src/sys/arch/sun2/sun2 [nathanw_sa]: trap.c
        src/sys/arch/sun3/sun3 [nathanw_sa]: trap.c
        src/sys/arch/vax/vax [nathanw_sa]: trap.c
        src/sys/arch/x68k/x68k [nathanw_sa]: trap.c
        src/sys/kern [nathanw_sa]: kern_ktrace.c kern_subr.c kern_synch.c
        src/sys/miscfs/genfs [nathanw_sa]: genfs_vnops.c
        src/sys/sys [nathanw_sa]: lwp.h
        src/sys/uvm [nathanw_sa]: uvm_amap.c

Log Message:
In the SA universe, the switch-to-this-LWP decision is made at a
different level than where preempt() calls are made, which renders
the "newlwp" argument useless.  Replace it with a "more work to do"
boolean argument.  Returning to userspace preempt() calls pass 0.
"Voluntary" preemptions in e.g. uiomove() pass 1.  This will be used
to indicate to the SA subsystem that the LWP is not yet finished in
the kernel.

Collapse the SA vs. non-SA cases of preempt() together, making the
conditional code block much smaller, and don't call sa_preempt() if
more work is to come.

NOTE: THIS IS NOT A COMPLETE FIX TO THE preempt()-in-uiomove() PROBLEM
THAT CURRENTLY EXISTS FOR SA PROCESSES.


To generate a diff of this commit:
cvs rdiff -r1.77.2.6 -r1.77.2.7 src/sys/arch/alpha/alpha/trap.c
cvs rdiff -r1.2.2.7 -r1.2.2.8 src/sys/arch/arm/arm/ast.c
cvs rdiff -r1.9.4.10 -r1.9.4.11 src/sys/arch/arm/arm/undefined.c
cvs rdiff -r1.5.2.1 -r1.5.2.2 src/sys/arch/arm/fpe-arm/armfpe_init.c
cvs rdiff -r1.62.4.7 -r1.62.4.8 src/sys/arch/atari/atari/trap.c
cvs rdiff -r1.5.4.8 -r1.5.4.9 src/sys/arch/cesfic/cesfic/trap.c
cvs rdiff -r1.91.4.10 -r1.91.4.11 src/sys/arch/hp300/hp300/trap.c
cvs rdiff -r1.154.2.20 -r1.154.2.21 src/sys/arch/i386/i386/trap.c
cvs rdiff -r1.18.4.7 -r1.18.4.8 src/sys/arch/luna68k/luna68k/trap.c
cvs rdiff -r1.96.4.10 -r1.96.4.11 src/sys/arch/mac68k/mac68k/trap.c
cvs rdiff -r1.165.2.21 -r1.165.2.22 src/sys/arch/mips/mips/trap.c
cvs rdiff -r1.61.4.8 -r1.61.4.9 src/sys/arch/mvme68k/mvme68k/trap.c
cvs rdiff -r1.19.4.9 -r1.19.4.10 src/sys/arch/news68k/news68k/trap.c
cvs rdiff -r1.35.4.9 -r1.35.4.10 src/sys/arch/next68k/next68k/trap.c
cvs rdiff -r1.2.6.13 -r1.2.6.14 src/sys/arch/powerpc/ibm4xx/trap.c
cvs rdiff -r1.53.4.17 -r1.53.4.18 src/sys/arch/powerpc/powerpc/trap.c
cvs rdiff -r1.2.4.4 -r1.2.4.5 src/sys/arch/sh3/sh3/exception.c
cvs rdiff -r1.106.8.23 -r1.106.8.24 src/sys/arch/sparc/sparc/trap.c
cvs rdiff -r1.74.4.20 -r1.74.4.21 src/sys/arch/sparc64/sparc64/trap.c
cvs rdiff -r1.4.6.10 -r1.4.6.11 src/sys/arch/sun2/sun2/trap.c
cvs rdiff -r1.103.6.9 -r1.103.6.10 src/sys/arch/sun3/sun3/trap.c
cvs rdiff -r1.66.8.12 -r1.66.8.13 src/sys/arch/vax/vax/trap.c
cvs rdiff -r1.55.4.10 -r1.55.4.11 src/sys/arch/x68k/x68k/trap.c
cvs rdiff -r1.53.2.11 -r1.53.2.12 src/sys/kern/kern_ktrace.c
cvs rdiff -r1.75.2.20 -r1.75.2.21 src/sys/kern/kern_subr.c
cvs rdiff -r1.101.2.30 -r1.101.2.31 src/sys/kern/kern_synch.c
cvs rdiff -r1.31.2.21 -r1.31.2.22 src/sys/miscfs/genfs/genfs_vnops.c
cvs rdiff -r1.1.2.23 -r1.1.2.24 src/sys/sys/lwp.h
cvs rdiff -r1.30.2.13 -r1.30.2.14 src/sys/uvm/uvm_amap.c

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