Re: AMD64 Machine hardlocks when using memset

From: Denis Vlasenko
Date: Fri Apr 01 2005 - 05:42:16 EST


On Friday 01 April 2005 07:37, Robert Hancock wrote:
> Stelian Pop wrote:
> > Just a thought: does deactivating cpufreq change anything ?
> >
> > I haven't tested yet your program, but on my Asus K8NE-Deluxe very
> > strange things happen if cpufreq/powernow is activated *and*
> > the cpu frequency is changed...
>
> Didn't change anything for me, I tried deactivating cpufreq, still
> crashes when I run that test program.
>
> This is getting pretty ridiculous.. I've tried memory timings down to
> the slowest possible, ran Memtest86 for 4 passes with no errors, and
> it's been stable in Windows for a few months now. Still something is
> blowing up in Linux with this test though..

If you want to dig deeper, go to assembler level.
That is, instead of using memset(), disassemble
your program and make your own

void my_memset(...)
{
asm volatile(/* code sequence from your crashing prog*/);
}

and use that in your memsetting loop. Sure, it won't change anything,
but:

a) we will know exactly which instruction sequence drives
your CPU/chipset crazy
b) others can try to reproduce without danger of memset being
implemented differently on their perticular version of gcc/glibc/whatever
c) you can try other memsets in order to know more about this bug
(for example, if inserting some NOPs in the my_memset body
makes bug disappear will definitely point towards defective/
overheating CPU. etc...)
--
vda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/