Okay after my –as-needed experiment proved not so bad (well a part many GNOME packages and MySQL and so on), I looked forward for something new to test that was conservative enough but still a good deal, and I ended up trying -Bdirect support by Michael Meeks.
This is a bit less conservative than –as-needed at it requires to patch both glibc and binutils, but I heard Michael praising those patches so much, that I hoped they were working fine 🙂
The bug for who wants to follow the -Bdirect function is #114008. I put the patched glibc and binutils ebuilds in my overlay for who dares to test them.
Now, the main problem is that xorg-server does not start when built with -Bdirect and if the variable LD_BIND_DIRECT is set (either to 1 or 0!). The problem can be worked around by starting X with LD_BIND_DIRECT unset (thus disabling direct binding) and then re-setting it to 1 in the session script, as I done here with kdm. On kdm the line to change in /usr/kde/*/share/config/kdm/kdmrc is
ServerCmd=/usr/bin/env LD_BIND_DIRECT= /usr/bin/X -br
the default Xsession of KDM will already reload the profile in /etc/profile so if you set LD_BIND_DIRECT in /etc/env.d you’re already safe.
The speed increase seems interesting, with KMail at least that was built by itself with no other deps being using it. I’m really looking forward to it to see how it will behave on a complete system.
And for another note, thanks to KingTaco today I moved my SATA disks from the on-board VIA controller to the on-board Promise controller… it feels faster..