Re: [PATCH 17/39] clobber rbx in putuser_64.S

From: Glauber Costa
Date: Tue Jul 01 2008 - 11:12:13 EST


Andi Kleen wrote:
But for this case, I think we can come up with a macro that selects the appropriate register for each of them. Should be easy to do now that the code is merged.

Note that each get_user() backend is ~10 lines or so. If you add
that many macros you might end up with more code than if you just keep them separate.

While I admit I am also partly to blame for some asm macro
mess, e.g. in entry.S, I relented and would now advocate
to minimize macro use in assembler. It simply makes it much
harder to understand and to change.

-Andi


As it turns out, neither seem significant.


4991509 618198 475308 6085015 5cd997 vmlinux
4989760 618038 475308 6083106 5cd222 vmlinux.top
4989392 618038 475308 6082738 5cd0b2 vmlinux.patched


vmlinux is base before integration, .top is the top of my tree, and .patched, with the r8 patch added.

As you can see, there _is_ a difference in code size, but not significant by any means.

clobbering r8 instead of rbx (.patched vs .top) gives us no
more difference than 0.007 %. Hard to say it matters.

The whole series, gives us a .03 % improvement in code size already (although it was not my intention).

So I'd go for leaving the tree as is, clobbering rbx anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/