Re: [patch] lowlatency patch for 2.4, lowlatency-2.4.0-test6-B5

From: Jamie Lokier (lk@tantalophile.demon.co.uk)
Date: Thu Aug 03 2000 - 12:33:09 EST


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