ZFS committed to the FreeBSD base.

Sergey Zaharchenko doublef-ctm at yandex.ru
Fri Apr 13 15:43:49 UTC 2007


[cc list trimmed]

Hello Oliver!

Fri, Apr 13, 2007 at 04:52:45PM +0200 you wrote:

> Using cmpxchg8b with a lock prefix wouldn't be a good idea
> anyway.  If I remember correctly, the lock cmpxchg8b
> combination was the cause of the infamous "F00F" bug of
> old Pentium processors.  It causes them to freeze.

AFAICT the bug only manifested itself when the instruction had an
invalid register operand:

www.intel.com/support/processors/pentium/ppiie/ :

> It is illegal to use a register as the destination. ... If a
> register is used as the destination, the processor normally stops
> execution of the CMPXCH8B instruction, signals this error
> condition and executes an error handler in software.
> This erratum occurs if the CMPXCHG8B instruction is also locked ...
> and an invalid register destination is used.

So normal instructions should be OK. The fix was there to protect the
system from malicious code which could hang it.

-- 
DoubleF
No virus detected in this message. Ehrm, wait a minute...
/kernel: pid 56921 (antivirus), uid 32000: exited on signal 9
Oh yes, no virus:)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20070413/c565aca9/attachment.pgp


More information about the freebsd-current mailing list