Re: [patch] tls-2.5.31-C3

Luca Barbieri
2002-08-12T14:13:48Z

[-- Attachment #1: Type: text/plain, Size: 1414 bytes --]

On Mon, 2002-08-12 at 17:57, Ingo Molnar wrote:
>
> On 12 Aug 2002, Luca Barbieri wrote:
>
> > > > Numbers:
> > > > unconditional copy of 2 tls descs: 5 cycles
> > > > this patch with 1 tls desc: 26 cycles
> > > > this patch with 8 tls descs: 52 cycles
> > >
> > > [ 0 tls descs: 2 cycles. ]
> > Yes but common multithreaded applications will have at least 1 for
> > pthreads.
>
> i would not say 'common' and 'multithreaded' in the same sentence. It
> might be so in the future, but it isnt today.
Most modern servers (e.g. Apache2, MySQL) are multithreaded and so are
large desktop applications (e.g. Evolution, Galeon, Nautilus).

> > > how did you calculate this?
> > ((26 - 5) / 2000) * 100 ~= 1
> > Benchmarks done in kernel mode (2.4.18) with interrupts disabled on a
> > Pentium3 running the rdtsc timed benchmark in a loop 1 million times
> > with 8 unbenchmarked iterations to warm up caches and with the time to
> > execute an empty benchmark subtracted.
>
> old libpthreads or new one?
What are you asking about? (benchmarks are in kernel mode and context
switch is from forked processes)

> > > glibc multithreaded applications can avoid the
> > > lldt via using the TLS, and thus it's a net win.
> > Surely, this patch is better than the old LDT method but much worse than
> > the 2-TLS one.
>
> people asked for a 3rd TLS already.
It would be interesting to know what they would use it for.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]