Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/kern
> Thinking about SMP, both CURCPU() and curlwp could be the register - with the
> other being indirected from it. I wonder which it used most?
> curproc should be readable from either.
Some MIPS CPUs have "OS Scratch" registers. I use one to store curcpu since
that is the one most useful in the exception handler.
I just made the changes so that PowerPC kernels will keep curlwp in %r13 (I
choose r13 over r2 because r2 is used for TOC in the PPC64 ABI). It has
allowed me to remove several loads of curlwp in the assembly code let alone how
many references in C code.
text data bss dec hex filename
6652040 3805600 212056 10669696 a2ce80 before
6642116 3805600 212056 10659772 a2a7bc after
That's nearly a reduction of 64KB. The loading of %r13 with curlwp is free
since in all cases, curlwp would have eventually been loaded into a register at
some point.
Home |
Main Index |
Thread Index |
Old Index