Re: Mega Patch #8, or "Why stop now while we haven't broken it all"

Samuel S Chessman (chessman@wauug.erols.com)
Thu, 12 Dec 1996 06:21:34 -0500 (EST)


On Wed, 11 Dec 1996, Alan Cox wrote:

>
> Ok #8, should compile a bit better
>
> Arcnet compiles (might even work)
> Token ring should be ok
> The MCA stuff might work (someone has it working I think I'm short a diff
> still).
> 4MB pages enabled with SMP (speed up hopefully - benchmarks ?)
> Misc small fixes
>

Megapatch 8 builds clean for my config, 4MB pages are not a big win in the
benchmark area.

What does make a difference is #define CLEVER_SMP_INVALIDATE
at line 85 in include/asm/pgtable.h (asm-i386).

final med_file small_file context shell
execl large_file pipe process syscall
Megapatch #6 50.9 53.2 66.7 73.0 53.4 63.1 41.2 71.9 138.3 34.4
Megapatch #8 50.7 54.0 67.0 74.9 53.3 62.9 36.7 72.5 139.3 34.6
Mega #8 w/define 52.3 56.5 65.7 73.7 54.1 63.0 36.8 96.0 148.3 33.9

For some reason context switch performance was 10% better at #6, against
all the SMP 2.0 and 2.1 benchmarks I have run.

The 33% improvement in process creation time has a direct impact on
overall performance. Why isn't the tlb_flush optimization the default?

Note that 2.1.10 Single CPU benchmarks are:
2.1.10.961115 70.5 60.5 79.6 104.8 59.0 91.7 125.1 204.7 98.3 64.7

The areas to get more from SMP are in context switch, process creation and
syscall overhead improvements.

Sam Chessman (SSC3) chessman@wauug.erols.com