2001-07-07 01:05:53

by Richard Shih-Ping Chan

[permalink] [raw]
Subject: Athlon oops traced to CONFIG_MK7 code in arch/i386/lib/mmx.c

Athlon oops saga continues - I consistently get Athlon kernels oopsing
during the boot up process either in rc.sysinit or loading of usb modules
(this is a RedHat system 7.1). These kernels can boot to a shell init=/bin/sh
but once I try to do stuff like inserting modules they oops left, right, and centre.

System: Athlon 1.2GHz VIA KT 133A
Kernel: 2.4.5 and -ac, 2.4.6 and -ac
Compiler: gcc 2.96-RH/3.00/3.01 binutils 2.10.90/2.11.2/2.11.90


I have narrowed a(the?) problem down to the CONFIG_MK7 specific code in arch/i386/lib/mmx.c.
If I disable CONFIG_MK7 in that one file with the rest of the kernel untouched and
compiled with CONFIG_MK7 and -march=athlon then my kernel boots sucessfully and manages
to get into multi-user mode. With a few minutes of testing and X everything works fine.

I'm interested if there is an explanation of the MK7 specific code in mmx.c and
whether that could really be the source of the problem. I would like to get
to the bottom of this.

FWIW - the RedHat 7.1 stock 2.4.2 athlon kernel boots successfully without oopsen.

Thanks!

Richard Chan <[email protected]>


2001-07-07 08:27:39

by Arjan van de Ven

[permalink] [raw]
Subject: Re: Athlon oops traced to CONFIG_MK7 code in arch/i386/lib/mmx.c

On Sat, Jul 07, 2001 at 09:10:46AM -0800, Richard Chan wrote:
> Athlon oops saga continues - I consistently get Athlon kernels oopsing
> during the boot up process either in rc.sysinit or loading of usb modules
> (this is a RedHat system 7.1). These kernels can boot to a shell init=/bin/sh
> but once I try to do stuff like inserting modules they oops left, right, and centre.
>
What motherboard, how big is your PSU ?
This code has the tendency to get full memory-bandwidth and it appears that
some boards can't handle this....


Greetings,
Arjan van de Ven

2001-07-07 12:18:56

by Alan

[permalink] [raw]
Subject: Re: Athlon oops traced to CONFIG_MK7 code in arch/i386/lib/mmx.c

> I'm interested if there is an explanation of the MK7 specific code in mmx.c and
> whether that could really be the source of the problem. I would like to get
> to the bottom of this.

As far as we can tell the problem is 'using a VIA chipset'. The code itself
is a fast copying loop using mmx/3dnow/amd athlon extended mmx stuff

Pick up an Athlon documentation set (pdf on the web site) and you should be
able to follow it. prefetch does what you'd expect, sfence is a store fence
for non temporal stores (ie out of order stuff) amd movntq is an out of order
move

> FWIW - the RedHat 7.1 stock 2.4.2 athlon kernel boots successfully without oopsen.

That doesn't have CONFIG_MK7k