diff options
author | fsmp <fsmp@FreeBSD.org> | 1997-12-08 23:00:24 +0000 |
---|---|---|
committer | fsmp <fsmp@FreeBSD.org> | 1997-12-08 23:00:24 +0000 |
commit | 6dd7dcc53b675eb0167c348bd2a4b6f527ec387c (patch) | |
tree | 8ceb88629b524e26e069a9a105e202d2131596e3 /sys/i386/include/smptests.h | |
parent | c29fe145047eadea9dcee01d907b3a990906a6af (diff) | |
download | FreeBSD-src-6dd7dcc53b675eb0167c348bd2a4b6f527ec387c.zip FreeBSD-src-6dd7dcc53b675eb0167c348bd2a4b6f527ec387c.tar.gz |
The improvements to clock statistics by Tor Egge
Wrappered and enabled by the define BETTER_CLOCK (on by default in smpyests.h)
Reviewed by: smp@csn.net
Submitted by: Tor Egge <Tor.Egge@idi.ntnu.no>
Diffstat (limited to 'sys/i386/include/smptests.h')
-rw-r--r-- | sys/i386/include/smptests.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/i386/include/smptests.h b/sys/i386/include/smptests.h index 2ad4da8..da80b72 100644 --- a/sys/i386/include/smptests.h +++ b/sys/i386/include/smptests.h @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: smptests.h,v 1.26 1997/09/07 22:02:02 fsmp Exp $ + * $Id: smptests.h,v 1.27 1997/09/07 23:06:15 fsmp Exp $ */ #ifndef _MACHINE_SMPTESTS_H_ @@ -35,6 +35,27 @@ /* + * Tor's clock improvements. + * + * When the giant kernel lock disappears, a different strategy should + * probably be used, thus this patch can only be considered a temporary + * measure. + * + * This patch causes (NCPU-1)*(128+100) extra IPIs per second. + * During profiling, the number is (NCPU-1)*(1024+100) extra IPIs/s + * in addition to extra IPIs due to forwarding ASTs to other CPUs. + * + * Having a shared AST flag in an SMP configuration is wrong, and I've + * just kludged around it, based upon the kernel lock blocking other + * processors from entering the kernel while handling an AST for one + * processor. When the giant kernel lock disappers, this kludge breaks. + * + * -- Tor + */ +#define BETTER_CLOCK + + +/* * Control the "giant lock" pushdown by logical steps. */ #define PUSHDOWN_LEVEL_1 |