[PATCH 0/3] make mdelay, udelay and ssleep calls smaller
From: Denis Vlasenko
Date: Fri Sep 22 2006 - 04:11:36 EST
Hello Andrew,
This version is basically unchanged except for rediff
against 2.6.18. I was running previous version for
several weeks on 2.6.17.x kernels.
Russell King was giving me some feedback. I think that
my reply satisfied him - I got no further comments:
On Wednesday 23 August 2006 10:39, Denis Vlasenko wrote:
>On Wednesday 23 August 2006 10:14, Russell King wrote:
>> Please keep a "const" version in ARM. Thanks.
>
> Why do you want to keep it?
> I mean, without it udelay(n) will become slower by the time
> needed for one extra multiply. So we will have maybe
> udelay(n) ==> udelay(n+0.1).
>
>> Since the multiply is pure overhead, it's better
>> to get rid of it.
>
>You do not need to optimize delay for speed. If you
>really want to, then you can do:
>
>#define udelay(n) do {} while(0)
>
>Makes sense? No it does not. That's what I'm trying to say.
>You WANT to pause for thousands of cycles. Why you are trying
>to shave off ~10 cycles at the very same time?
>
>Hope it makes things clearer.
On with patch explanation:
Currently, magic in include/linux/delay.h
inlines mdelay and ssleep, and various arches
do the same to udelay.
This is pointless. We are going to perform a delay of 1000+
CPU cycles anyway, no need to optimize away a few cycles.
This patchset converts magic calls to these inlines/macros
into pure and simple function calls, with no additional
math done or hidden arguments pushed to stack
at the callsite.
Reduces allyesconfig kernel by about 7 kb.
Signed-off-by: Denis Vlasenko <vda.linux@xxxxxxxxxxxxxx>
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/