Messages in this thread | | | Subject | Re: Don't save registers during system calls | From | Andreas Schwab <> | Date | 17 Apr 1998 12:45:26 +0200 |
| |
H Peter Anvin <hpa@transmeta.com> writes:
|>> H Peter Anvin <hpa@transmeta.com> writes: |>> |>> |>> FWIW, the m68k port already essentially does this. On kernel entry it |>> |>> only saves the registers that are call-clobbered in C (plus the registers |>> |>> that contain the syscall arguments so that they can be accessed through |>> |>> the normal C argument passing), the rest are only implicitly saved in the |>> |>> normal stack frames and during context switch. Since the m68k has many |>> |>> more registers than the ix86 this is a real win. |>> |>> |>> |>> |> 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. |>> |>> But that would only mean that you have to change the register allocation |>> in the compiler. Or do i miss something?
|> So?
In other words, it's not a real kernel issue.
-- Andreas Schwab "And now for something schwab@issan.informatik.uni-dortmund.de completely different" schwab@gnu.org
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |