Module Name: src Committed By: pooka Date: Sat Mar 15 15:15:27 UTC 2014
Modified Files: src/sys/rump: Makefile.rump src/sys/rump/include/machine: cpu.h src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: lwproc.c rump.c rump_private.h scheduler.c threads.c src/sys/rump/librump/rumpkern/arch/x86: rump_x86_cpu.c Added Files: src/sys/rump/librump/rumpkern: rump_curlwp.h rump_curlwp___thread.h rump_curlwp_hypercall.h Log Message: Allow compile-time optimizations to curlwp. This can have a pretty staggering impact on performance. When running sendto() in a loop, the improvement is 200k more calls per second with an inlined __thread curlwp as opposed to the default. In other words, it shaves off hundreds of CPU cycles per call (~20%). Even just eliminating the x86_curlwp() call in favor of an inline gives an improvement of 60k calls per second. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/sys/rump/Makefile.rump cvs rdiff -u -r1.19 -r1.20 src/sys/rump/include/machine/cpu.h cvs rdiff -u -r1.108 -r1.109 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.26 -r1.27 src/sys/rump/librump/rumpkern/lwproc.c cvs rdiff -u -r1.289 -r1.290 src/sys/rump/librump/rumpkern/rump.c cvs rdiff -u -r0 -r1.1 src/sys/rump/librump/rumpkern/rump_curlwp.h \ src/sys/rump/librump/rumpkern/rump_curlwp___thread.h \ src/sys/rump/librump/rumpkern/rump_curlwp_hypercall.h cvs rdiff -u -r1.79 -r1.80 src/sys/rump/librump/rumpkern/rump_private.h cvs rdiff -u -r1.35 -r1.36 src/sys/rump/librump/rumpkern/scheduler.c cvs rdiff -u -r1.21 -r1.22 src/sys/rump/librump/rumpkern/threads.c cvs rdiff -u -r1.1 -r1.2 \ src/sys/rump/librump/rumpkern/arch/x86/rump_x86_cpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.