Messages in this thread | | | Date | Mon, 20 Apr 1998 00:59:48 -0700 | From | Richard Henderson <> | Subject | Re: Don't save registers during system calls |
| |
On Fri, Apr 17, 1998 at 10:29:00AM +0000, H. Peter Anvin wrote: > That's not quite what he's proposing. You're just doing the same > thing, it's just that the saves are later. I think he was proposing > that the kernel use a smaller (clobbered) register set than user space > would, hence (hopefully) not needing to save and restore some of the > registers at all. Since the Alpha has many more registers than the > m68k, this might be a win, too.
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
| |