K6 and Linux problem SOLVED

K6 and Linux problem SOLVED

Post by Simon Karpe » Thu, 21 Aug 1997 04:00:00



First, relevent system config:
Asus P55T2P4 Rev. 3.10.
AMD K6/233 running at 233mhz (3.5x66)
96MB LGS non-parity EDO DRAM
Asus heatsink/fan on processor
Extra fan blowing on voltage regulators

The problem:
Kernel compiles segfault around one of every 5-10 times
(well, sig11, sig4, sig6...)

The solution:
compile your kernel for a 386. my theory is that the problem is
pentium 4MB pages, but i'm still testing.
--
Simon Karpen

System and Network Administrator, linux-shell.net
Not just a shell account, but a Linux shell account

 
 
 

K6 and Linux problem SOLVED

Post by Ioannis Schoin » Fri, 22 Aug 1997 04:00:00


+First, relevent system config:
+Asus P55T2P4 Rev. 3.10.
+AMD K6/233 running at 233mhz (3.5x66)
+96MB LGS non-parity EDO DRAM
+Asus heatsink/fan on processor
+Extra fan blowing on voltage regulators

+The problem:
+Kernel compiles segfault around one of every 5-10 times
+(well, sig11, sig4, sig6...)

+The solution:
+compile your kernel for a 386. my theory is that the problem is
+pentium 4MB pages, but i'm still testing.

Ha! Computers will never seize to amaze me (if this indeed solves
the K6 problem). Did it make it through the burnit script?

As I said the problem with my K5lite and gcc is related to the invlpg
instruction. I traced the offending code in mm/memory.c. Changing
exactly one flush_tlb_page() call to flush_tlb() is sufficient to get
rid it of the gcc headache. It might be worthwhile to give it a try
on the K6.

Someone pointed out to me there is no reason for the K6 to have
similar problems as the K5 since the latter was developed by a
completely different team (NexGen). Cross-species jump, creepy...
Are bugs alive or what?

Anyway, the truth is that most commercial code out there is compiled
to run on 386's. This is certainly true for the "mainstream" operating
systems.  As a result, it is not surprising that a processor can be
"certified" compatible (e.g., by XXCAL) even with bugs lurking in the
background. Hell, even the Linux distributions out there are all compiled
for 386's.

The following piece of code is from the 2.0.30 kernel source tree,
but it hasn't changed all the way to 2.1.51 (in case you are using
the development kernels). A more general solution is to always
invalidate the tlb by defining the flush_tlb_one() macro in
include/asm-i386/pgtbl.h to flush_tlb() (as it is for the 386's).
It may be possible that invlpg is totally broken but the error is
never encountered because of TLB replacements when going through
all the other paths.

pipa# diff -c memory.c memory.c.original
*** memory.c    Wed Aug 20 22:13:50 1997
--- memory.c.original   Wed Aug 20 22:00:14 1997
***************
*** 638,645 ****
                        flush_cache_page(vma, address);
                        set_pte(page_table, pte_mkwrite(pte_mkdirty(mk_pte(new_page, vma->vm_page_prot))));
                        free_page(old_page);
!                       if (vma->vm_mm == current->mm)
!                               flush_tlb();
                        return;
                }
                flush_cache_page(vma, address);
--- 638,644 ----
                        flush_cache_page(vma, address);
                        set_pte(page_table, pte_mkwrite(pte_mkdirty(mk_pte(new_page, vma->vm_page_prot))));
                        free_page(old_page);
!                       flush_tlb_page(vma, address);
                        return;
                }
                flush_cache_page(vma, address);

 
 
 

K6 and Linux problem SOLVED

Post by Damien Ne » Fri, 22 Aug 1997 04:00:00



Quote:>The following piece of code is from the 2.0.30 kernel source tree,
>but it hasn't changed all the way to 2.1.51 (in case you are using
>the development kernels). A more general solution is to always
>invalidate the tlb by defining the flush_tlb_one() macro in

...

Out of curiosity, I decided to try this patch.  I still see segmentation
faults with it.

                         - Damien

 
 
 

K6 and Linux problem SOLVED

Post by Matt Jenki » Fri, 22 Aug 1997 04:00:00


: First, relevent system config:
: Asus P55T2P4 Rev. 3.10.
: AMD K6/233 running at 233mhz (3.5x66)
: 96MB LGS non-parity EDO DRAM
: Asus heatsink/fan on processor
: Extra fan blowing on voltage regulators
:
: The problem:
: Kernel compiles segfault around one of every 5-10 times
: (well, sig11, sig4, sig6...)
:
: The solution:
: compile your kernel for a 386. my theory is that the problem is
: pentium 4MB pages, but i'm still testing.

Could you try this on a pentium kernel with the mem=nopentium parameter?

Thanks

Matt

--
              Matt(hew) Jenkins. Computer Science (RMIT Bundoora)

                        ------ Site of the Month ------
                              http://www.ardi.com/

 
 
 

K6 and Linux problem SOLVED

Post by Mike Fris » Fri, 22 Aug 1997 04:00:00



Quote:>As I said the problem with my K5lite and gcc is related to the invlpg
>instruction. I traced the offending code in mm/memory.c. Changing

I am curious to know why people are compiling kernel with Pentium
optimizations turned on with the K6?  I mean, it's not a Pentium
internally, so how exactly is it supposed to take advantage of Pentium
optimizations?  Why would anybody expect this to work?

Does anybody on the linux-kernel mailing list know about this patch?  (I
haven't checked archives, but have noticed very little mention of the K6
lately)

Mike.

--
======================================================================

  Northstar Technologies        WWW: http://saturn.tlug.org/~mfrisch
  Newmarket, Ontario, Canada

 
 
 

K6 and Linux problem SOLVED

Post by Benoit Poulot-Cazajo » Fri, 22 Aug 1997 04:00:00


: First, relevent system config:
: Asus P55T2P4 Rev. 3.10.
: AMD K6/233 running at 233mhz (3.5x66)
: 96MB LGS non-parity EDO DRAM
: Asus heatsink/fan on processor
: Extra fan blowing on voltage regulators
:
: The problem:
: Kernel compiles segfault around one of every 5-10 times
: (well, sig11, sig4, sig6...)
:
: The solution:
: compile your kernel for a 386. my theory is that the problem is
: pentium 4MB pages, but i'm still testing.

It proves nothing but it does not work for me :

[2]/usr/src/lx-2.1.50# ../bin/burnit
Thu Aug 21 11:39:00 MET DST 1997 FAILED: 0/0
Thu Aug 21 11:43:53 MET DST 1997 FAILED: 0/1
Thu Aug 21 11:48:26 MET DST 1997 FAILED: 0/2
Thu Aug 21 11:51:31 MET DST 1997 FAILED: 1/3
^C
[3]/usr/src/lx-2.1.50# grep flags /proc/cpuinfo
flags           : fpu vme de tsc msr mce cx8 mmx
[4]/usr/src/lx-2.1.50# grep 386 .config
CONFIG_M386=y

Config: K6-200 (B 9720CJFW), TX97, 64 MB SDRAM, good fan/heatsink, voltage
regulators not overheating.

  -- Benoit
--
-------------------------------------------------------------------------------
Benoit Poulot-Cazajous                  Tel: +33 (1) 30 64 82 18
Chorus Systemes                         Fax: +33 (1) 30 57 00 66

F-78182, St-Quentin-en-Yvelines-Cedex
-------------------------------------------------------------------------------

 
 
 

K6 and Linux problem SOLVED

Post by Mark Ha » Sat, 23 Aug 1997 04:00:00


: in the kernel source tree.  But I have heard people having the same problem
: with all K5 models.

my K5/133 at home, now about a year old, certainly has no problems
with Linux at all.  it definitely uses 4M pages.

 
 
 

K6 and Linux problem SOLVED

Post by Ioannis Schoin » Sat, 23 Aug 1997 04:00:00


+: in the kernel source tree.  But I have heard people having the same problem
+: with all K5 models.

+my K5/133 at home, now about a year old, certainly has no problems
+with Linux at all.  it definitely uses 4M pages.

The problem is not the 4M pages. It's the invlpg instruction that flushes
individual pages out of the TLB. It fails even without the 4M pages. The
instruction will not be used if the kernel has been compiled for a 386 cpu.

If you search with dejanews, you will see reports on this problem for all
sorts of K5's. Now, if your K5 works fine, I would be interested to know
its model and stepping (from /proc/cpuinfo). If I am not mistaken, the
K5-PR133 is running at 100 MHz, correct?

                                                        Yannis

 
 
 

K6 and Linux problem SOLVED

Post by Simon Karpe » Mon, 25 Aug 1997 04:00:00



> Could you try this on a pentium kernel with the mem=nopentium parameter?

I still got the sig11's with mem=nopentium and a pentium kernel.

(posted and mailed because of UUnet having propogation problems)

--Simon

--
Simon Karpen

System and Network Administrator, linux-shell.net
Not just a shell account, but a Linux shell account

 
 
 

K6 and Linux problem SOLVED

Post by Mike Fris » Tue, 26 Aug 1997 04:00:00



>    Just out of curiousity, have you tried it with the CPU set as
>a PPro?  The K6 usually will run faster with PPro code then Pentium

What would this prove?  The K6 is not a PPro and does not behave as one
internally.  In fact, compiling the kernel with PPro optimizations may
make the system run _slower_.

Mike.

--
======================================================================

  Northstar Technologies        WWW: http://saturn.tlug.org/~mfrisch
  Newmarket, Ontario, CANADA
======================================================================

 
 
 

1. K6 300,K6-2 300, mobile version for notebook/linux ?

K6 300,K6-2 300, mobile Version for notebook/linux ?

A few taiwain oem notebook producers are offering rather inexpensive notebooks
using a 300Mhz K6. Does anyone have experiences with a 300Mhz K6 notebook? Are
they using a mobile version of the K6 ? How stable are these notebooks. A dealer
told me that he had several K6 notebook running about 3h , then they are crashed
due to heat problems. How much power does a K6, K6-2, mobile K6, or if
existent a mobile K6-2 consume compared to a 200Mhz Pentium, 233/266
mobile Pentium or the 233/266 Pentium II used in notebooks ? Are there any
drawbacks using a K6 300Mhz running linux on a notebook ? Are there any
Super-7 (100MHZ bus speed) notebooks on the market ?

Greetings

Bernhard

--
Please post and answer via email. Thanks !

2. Configuring FTP in Red Hat Linux 5.1

3. Matrox Mystique ands X.

4. MS proxy server and Linux

5. K6-2 versus K6-3

6. Virtual Memory out of control !! HELP !

7. AMD K6-2 or K6-3

8. console msgs under Stormix

9. [2.5 patch] K6-II/K6-II: enable X86_USE_3DNOW

10. AMD K6-2 vs. K6-III

11. Any advantages running AMD K6 vs. AMD K6-2 w/3DNow!

12. Q: K6 266 vs. K6-II 300

13. AMD K6/K6-2, 3DNOW!, and MMX - where to start?