Ingo Molnar wrote:
> With this patch applied i was unable to trigger larger than 0.5 msec
> latencies even under extreme VM load in 100.0% of the cases - with the
> typical latencies in an unloaded system being around 0.1 msec.
I notice you didn't include the ret_from_syscall race fix which shows
up, rarely but it does. I think it was the last glitch seen in William
Montgomery's tests with 2.2+lowlatency.
> A conditional schedule is now typically just 3-4 x86 instructions and
> no (inline) branch, and if 'current' is used in the code already then
> it's just 2 instructions.
Nice. That may be small enough to add into __get_user and __put_user.
As tweak you could use a short branch in libcalls.
> my kernel has 332 conditional schedule points in its binary image. A
> condsched slow-path is 22 bytes, so the offline section is ~7k (kernel
> RAM) - sounds acceptable.
Excessive. You don't need anything more than "pushl $1b; jmpl
__cond_schedule" in the offline section, and let __cond_schedule do the
register save/restore. That's 10 bytes, =3.1k.
(Now if only there was a way to convince the linker to use short jumps to
long jumps per group of 256 bytes, it would be 7 bytes :-) But there
isn't...)
thanks,
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Aug 07 2000 - 21:00:11 EST