4.7 vs 5.2.1 SMP/UP bridging performance

Andrew Gallatin gallatin at cs.duke.edu
Thu May 6 11:26:26 PDT 2004


John Baldwin writes:

 > and lfence is only on PIV+.  I don't recall when mfence first appeared.. 
 > perhaps PII?  If the lock is really expensive, then perhaps we could make 
 > atomic_cmpset() be actual functions (ugh) rather than inlines that did a 
 > branch to use foofence for PIV rather than the default.  The branches would 
 > suck, but it might be faster than the lock.  Of course, this would greatly 
 > pessimize non-PIV.

According to http://www.sandpile.org/ia32/coherent.htm,
both mfence and lfence require SSE2, so sfence has the broadest
coverage. 

But since only P4 needs it, and since lfence is ~25% cheaper, maybe
there should be a separate config option for it, and it should be a
straight conditional compile option for those of us cursed w/P4s.

Drew


More information about the freebsd-current mailing list