OSF/1 defines a system call to operate just like a function call
in terms of what registers it clobbers. We currently save all of
them, but we need tecnically only save 6. Due to syscall restart
issues it turns out we need to save about 8 or 9 more, but all in
all we currently save 13 more registers than we need to.
I'd once done some patches to implement this, and fix up other bits
of uglyness, but I didn't get things quite right, in that I didn't
really see much of a speed up. Linus suggested that the memory write
pattern was now fragmented, and that the reads required to satisfy
non-full cacheline writes was where my performance was leaking off.
I never did get around to fixing it though.
r~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu