>I know I've heard both good and bad things about lmbench, but are these
>numbers fairly accurate?  Looking at the context switch code in
>proc-sa110.S shows comments pertaining to flushing the cache being
>horribly slow, which I'm guessing is because to flush it you have to
>read 16KB of data from the cache flush area.

Mostly I think lmbench is telling the truth.  Some of the delay will be due to 
flushing the cache; on the EBSA-285 I'd expect that to be about 70us or so.  
I don't know where the rest of the slowdown is coming from but it would be 
interesting to find out.  I usually get 2-way context switch times of about 
160us on my netwinder, for what that's worth. 

>Have there been many changes to the context switching code in 2.3 at
>all that attempt to speed this up?  Thanks.

No.  There's nothing can be done about the cache, other than making some 
effort to avoid flushing it when possible.  This helps a bit with the 
situation where you have one or more kernel threads (nfsd, kflushd, swapper or 
whatever) being scheduled a lot, and also for multithreaded user applications, 
but not a lot for general multitasking.  It might be possible to avoid some of 
the other latency but I don't know of anybody who's actively looking into it 
right now.  I did do a bit of work a month or so back to cut down on cache 
flushing under other circumstances, which helps with things like lat_proc, but 
not context switching as such.

p.


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to