2002-12-27 15:06:16

by Margit Schubert-While

[permalink] [raw]
Subject: Linux v2.5.53 pause et al

> [PATCH] reorder 'rep;nop;' in the spinlock macro
> According to Intel's recommendation, 'rep;nop; should be called before
testing
> if the lock variable was modified (i.e. rep nop;cmp;jcc).
> The current implementation does it the wrong way around: first test,
then wait, then branch.
> I've asked Asit Mallik from Intel, and he recommended to change it.
> It should be at least consistent: Right now, spinlock uses 'cmp;rep
nop;jcc',
> rwlock uses 'rep nop;cmp;jcc'

Hmm. Unless I'm reading it wrong, this doesn't agree with the
example 7-1c on page 7-14 of the P4 Optimization manual, or ?

This is also interesting - quote
"The inc and dec instructions should always be avoided. Using add and sub
instructions instead of inc and dec instructions avoid data dependence and
improve performance."


Margit