On Mon, 12 Jul 1999, Matthew Dillon wrote:

>     How did that happen?!!!  Argg..    I didn't save the email.
> 
>     Here are better results:
> 
>     Empty loop:
> 
>       mode 0    9.21 ns/loop nproc=1 lcks=EMPTY
> 
>     With and without lock prefix, one and two processes
> 
>       mode 1   16.48 ns/loop nproc=1 lcks=no
>       mode 2   23.65 ns/loop nproc=2 lcks=no
>       mode 3   93.02 ns/loop nproc=1 lcks=yes
>       mode 4  160.82 ns/loop nproc=2 lcks=yes
> 
>     With and without lock prefix, one and two processes, with
>     other global memory operations (note that the lock prefix instructions
>     have absorbed the other memory ops)
> 
>       mode 5   37.64 ns/loop nproc=1 lcks=no
>       mode 6   89.28 ns/loop nproc=2 lcks=no
>       mode 7   88.32 ns/loop nproc=1 lcks=yes
>       mode 8  161.08 ns/loop nproc=2 lcks=yes
> 
>     My conclusion from this is that the lock protocols have a general case
>     overhead of 50 to 80 nS on a duel P-III/450 system.  I don't think it
>     would be noticeable.

Just as another data point, it would be interesting to see the overhead
for non-inline versions (i.e. functions in the kernel which are using lock
or not called by code in loaded modules).

The alpha versions of these operations are already non-inline since it
takes quite a few instructions to implement them.

--
Doug Rabson                             Mail:  [EMAIL PROTECTED]
Nonlinear Systems Ltd.                  Phone: +44 181 442 9037




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to