Web lists-archives.org

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




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/