Messages in this thread | | | Date | Thu, 3 Aug 2000 19:33:09 +0200 | From | Jamie Lokier <> | Subject | Re: [patch] lowlatency patch for 2.4, lowlatency-2.4.0-test6-B5 |
| |
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/
| |