Re: [PATCH] syscall latency improvement #1

Robert Love
2002-01-25T22:30:44Z

On Fri, 2002-01-25 at 13:54, David Howells wrote:

> The attached patch does the following to 2.5.3-pre5:
>
> * consolidates various status items that are found in the lower reaches of
> task_struct into one 32-bit word, thus allowing them to be tested
> atomically without the need to disable interrupts in entry.S.
>
> * optimises the instructions in the system_call path in entry.S
>
> * frees up a hole in the bottom part of the task_struct (on the 1st cache
> line).
>
> * improves base syscall latency by approximately 5.4% (dual PIII) or 3.6%
> (dual Athlon) as measured by lmbench's "lat_syscall null" command against
> the vanilla kernel.

Mmm, I like it. Ingo Molnar talked to me about this (he wants such a
feature, too) earlier. This is a real win.

This patch is beneficial to the kernel preemption patch. I suspect
other future ideas could be added now without hurting the common case,
too. I had planned to roll need_resched into our preemption counter,
and I probably still can even with only 1 byte.

Anyhow, I'm looking it over -- good code.

Robert Love