Re: [patch] kstat change to see how much Linux SMP really scale well

Andi Kleen (ak@muc.de)
Sat, 13 Mar 1999 14:03:26 +0100


On Sat, Mar 13, 1999 at 01:10:07PM +0100, Andrea Arcangeli wrote:
> >and global). With a modified top this gives a nice overview over locking
> >problems. Patch relative to your patch.
>
> As I said to Pavel yesterday, the reason I didn't do that myself is simply
> because I was worried to not break every software that uses /proc/stat. I
> just thought and I perfectly agree with accounting separately the time the
> kernel spent in spinning on the lock, but I was 99% sure that breaking the
> /proc/stat in 2.2.3 I would had complains from everybody ;).
> Breaking /proc/stat is something for 2.3.x not for 2.2.x according to me.
> But note that I personally don't care to break it in 2.2.x I am an hacking
> guy and I am not worried by hacking, recompiling and reinstalling all
> software that are using it ;).

I would not call it breaking stat. Every /proc parser that does not know how to
cope with additional fields is badly broken. I had expected that this
ugly practice would have been stomped out by evolutionary methods in the 2.1
cycle - if not it is time. If you worry about this stuff it could be moved
to a new /proc file too.

I do not expect this patch will get included in the 2.2.x series though,
but of course it is a very useful feature for all these people bragging
about SMP scalability @)

>
> >I changed the lock accounting back to system, because it is really system
> >time, but it is counted in the lock statistics too. To get pure (non locked)
> >system overhead simply subtract the lock counter from the system time.
>
> Agreed. This is the way it should be done, if Linus will agree to break
> /proc/stat and /proc/self/status in 2.2.4 I'm fine with this way too.
>
> >Probably only compiles on i386 because I didn't change non i386
> >update_one_process callers. To catch mistakes I moved the prototype
> >into sched.h though.
>
> Another reason for not doing that was infact to not break all archs and
> get a 2.2.4 that won't compile on Alpha again...

The changes are very simple. I can supply a patch.

> But I see a clever and more fun way to avoid losing ticks in both the irq
> handler and in the smp timer interrupt, and it's to always calc the delta
> between rdtsc inside the smp timer irq. I can go into that.

Exactly what I had in mind. Actually I'm surprised that Linux doesn't do
that already @)

-Andi

-- 
This is like TV. I don't like TV.

- 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/