RFC: x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve [BZ #21265]
Florian Weimer
fweimer@redhat.com
Fri Oct 20 12:58:00 GMT 2017
On 10/20/2017 01:09 PM, H.J. Lu wrote:
> When there are many DSOs, it takes more time to lookup a symbol
> and time to save/restore vector registers becomes noise. The only
> case when time to save/restore vector registers becomes non-trivial is
>
> 1. There are a few DSOs so that symbol lookup takes fewer cycles. And
> 2. There are many external function calls which are executed only once. And
> 3. These external functions take very few cycles.
>
> I can create such a testcase. But I don't think it is a typical case.
Completely agree. Basically, a program which is affected would have to
(a) call many functions, (b) with short symbol lookup chains, and (c) do
very little actual work. This seems to be a very unlikely scenario.
I have a test case. GCC scales poorly with many function calls, and it
is difficult to get --export-dynamic to work with recent GCC/binutils.
I will try to run it on various machines.
Thanks,
Florian
More information about the Libc-alpha
mailing list