Messages in this thread | | | Date | Fri, 1 Apr 2005 20:11:05 -0800 | From | Paul Jackson <> | Subject | Re: AMD64 Machine hardlocks when using memset |
| |
Robert wrote: > It does run visibly slower
The x86_64 memset(), both in user space and the kernel, for whatever gcc I have, and for a current kernel, uses the "repz stos" or "rep stosq" prefixed instruction for the bulk of the copy. This combination is a long running, interruptible Intel string instruction that loops on itself until the CX register decrements to zero.
Was your windows app using "stos"?
I'll wager a nickel that the actual crash you see comes when the processor has to handle an interrupt while in the middle of this instruction.
I'll wager a dime it's hardware, though interrupt activity may be required to provoke it.
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |