2001-07-11 08:31:06

by Daniel Harvey

[permalink] [raw]
Subject: UPDATE: Linux SLOW on Compaq Armada 110 PIII Speedstep

Hi,

I submitted this request about a week ago, and have tested some of the
suggestions raised. See below for results. For completeness I include my
original post.

------
UPDATE
------

Every kernel runs DOG slow except for a vanilla 2.2.14 with the patch
included below (patch taken from the RedHat kernel-2.2.14-5.0.src.rpm
package.

This patch makes this following change to the kernel as reported on bootup:

< dcache_init(259068880l)Dentry hash table entries: 262144 (order 9, 2048k)
---
> dcache_init(257984l)Dentry hash table entries: 32768 (order 6, 256k)

However, even if I manually increase this cache size in the 2.4.5 kernel, it
still runs DOG slow. i.e. make dep takes 30-45 mins

Note that I have confirmed memory + disk bandwidth seems ok on the face of
it:

Stream reports
Function Rate (MB/s) RMS time Min time Max time
Copy: 220.6927 0.1457 0.1450 0.1466
Scale: 215.8473 0.1485 0.1483 0.1488
Add: 266.8000 0.1805 0.1799 0.1813
Triad: 243.0946 0.1978 0.1975 0.1983

# hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 128 MB in 1.21 seconds =105.79 MB/sec
Timing buffered disk reads: 64 MB in 3.79 seconds = 16.89 MB/sec

So I don't know what to think, any suggestions?

cat >linux-2.2.13-bigmem-dcache.patch <<EOF
--- linux/fs/dcache.c.bigmem-dcache Tue Nov 16 18:41:05 1999
+++ linux/fs/dcache.c Tue Nov 16 18:42:19 1999
@@ -860,12 +860,11 @@
return ino;
}

-void __init dcache_init(void)
+void __init dcache_init(unsigned long memory_size)
{
int i, order;
struct list_head *d;
unsigned int nr_hash;
- unsigned long memory_size;

/*
* A constructor could be added for stable state like the lists,
@@ -883,9 +882,6 @@
if (!dentry_cache)
panic("Cannot create dentry cache");

- memory_size = num_physpages << PAGE_SHIFT;
- memory_size >>= 13;
- memory_size *= 2 * sizeof(void *);
for (order = 0; ((1UL << order) << PAGE_SHIFT) < memory_size; order++);

do {
--- linux/init/main.c.bigmem-dcache Tue Nov 16 18:41:06 1999
+++ linux/init/main.c Tue Nov 16 18:41:08 1999
@@ -1217,7 +1217,7 @@
#endif
uidcache_init();
filescache_init();
- dcache_init();
+ dcache_init(memory_end-memory_start);
vma_init();
buffer_init(memory_end-memory_start);
page_cache_init(memory_end-memory_start);
--- linux/include/linux/fs.h.bigmem-dcache Tue Nov 16 18:41:06 1999
+++ linux/include/linux/fs.h Tue Nov 16 18:41:08 1999
@@ -171,7 +171,7 @@
extern void buffer_init(unsigned long);
extern void inode_init(void);
extern void file_table_init(void);
-extern void dcache_init(void);
+extern void dcache_init(unsigned long);

typedef char buffer_block[BLOCK_SIZE];
EOF

-------------
ORIGINAL POST
-------------

[1.] Linux SLOW on Compaq Armada 110 PIII Speedstep

[2.]

I have a just brought a Compaq Armade 110 PIII, and am having a lot of
trouble getting the kernel to operate effectively. The problem is that any
kernel I run (except one pre-compiled RedHat kernel) runs very slowly. The
thing is that disk IO tests seem fine, BogoMIPS reports high, but the system
is dog-slow (kernel make dep takes ~45mins).

The kernel which works FAST (read ok) is:
Linux version 2.2.14-5.0 ([email protected]) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar 7 21:07:39 EST
2000

One of the kernels which works SLOW (have tried right through to 2.4.5):
Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4 20010604 (Debian
prerelease))

[3.] Keywords - kernel, cpu, notebook, laptop
[4.] Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4 20010604
(Debian prerelease))
- although is as SLOW on any kernel up to 2.4.5 except the one above.
[5.] Output of Oops.. - N/A
[6.] Shell script - N/A

[7.] Environment
[7.1.] Software
Gnu C 2.95.4
Gnu make 3.79.1
binutils 2.11.90.0.7
util-linux
util-linux Note: /usr/bin/fdformat is obsolete and is no longer
available.
util-linux Please use /usr/bin/superformat instead (make sure
you have the
util-linux fdutils package installed first). Also, there had
been some
util-linux major changes from version 4.x. Please refer to the
documentation.
util-linux
mount 2.10f
modutils 2.4.6
e2fsprogs 1.18
pcmcia-cs 3.1.22
PPP 2.4.1
Linux C Library 2.2.3
Dynamic linker (ldd) 2.2.3
Procps 2.0.6
Net-tools 1.54
Console-tools 0.2.3
Sh-utils 2.0
Modules Loaded ds i82365 pcmcia_core eepro100 vfat fat smbfs

[7.2.] Processor info.
One kernel which runs SLOW:
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 797.084
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 3
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36
mmx fxsr sse
bogomips : 1589.24

Kernel which runs acceptably (speed wise):
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 797.050962
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 3
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
pse36 pn mmx fxsr xmm
bogomips : 794.62

[7.3.] Module information
ds 6736 1
i82365 29808 1
pcmcia_core 44480 0 [ds i82365]
eepro100 15696 1
vfat 9312 0 (unused)
fat 30368 0 [vfat]
smbfs 25600 0 (unused)

[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(set)
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)
1460-1467 : ide0
1468-146f : ide1
d0046000-d004601f : Intel Speedo3 Ethernet

[7.5.] PCI information ('lspci -vvv' as root)
00:00.0 Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev
05)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort+ >SERR- <PERR+
Latency: 0
Region 0: Memory at f8000000 (32-bit, prefetchable)
Capabilities: [a0] AGP version 2.0
Status: RQ=7 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

00:01.0 PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP]
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort+ >SERR- <PERR+
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: f4100000-f57fffff
Prefetchable memory behind bridge: fff00000-000fffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 22)
Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0

00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
(prog-if 8a [Master SecP PriP])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64
Region 4: I/O ports at 1460
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10) (prog-if 00
[UHCI])
Subsystem: Unknown device 0925:1234
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin D routed to IRQ 11
Region 4: I/O ports at 1440
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Capabilities: [68] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio
Controller (rev 20)
Subsystem: Compaq Computer Corporation: Unknown device b194
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 9
Region 0: I/O ports at 1000
Region 1: I/O ports at 1474
Region 2: I/O ports at 1470
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:09.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev
09) Subsystem: Intel Corporation: Unknown device 2201
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 66 (2000ns min, 14000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f4020000 (32-bit, non-prefetchable)
Region 1: I/O p

[7.6.] SCSI information (from /proc/scsi/scsi) - N/A

[7.7.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):

There is a few messages that I am not clear on in the boot-up sequence.

For the kernel which runs FAST:
Linux version 2.2.14-5.0 ([email protected]) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar 7 21:07:39 EST
2000
Detected 797050962 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 794.62 BogoMIPS
Memory: 253564k/257984k available (1060k kernel code, 416k reserved, 2880k
data, 64k init, 0k bigmem)
Dentry hash table entries: 262144 (order 9, 2048k)
Buffer cache hash table entries: 262144 (order 8, 1024k)
Page cache hash table entries: 65536 (order 6, 256k)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: Intel Pentium III (Coppermine) stepping 06
Enabling extended fast FPU save and restore...done.
Not enabling KNI unmasked exception support
Exception 19 error handler not integrated yet
Disabling CPUID Serial number...done.
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.35a (19990819) Richard Gooch ([email protected])
PCI: PCI BIOS revision 2.10 entry at 0xfd83e
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
TCP: Hash tables configured (ehash 262144 bhash 65536)
Initializing RT netlink socket
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
Real Time Clock Driver v1.09
RAM disk driver initialized: 16 RAM disks of 4096K size
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1460-0x1467, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1468-0x146f, BIOS settings: hdc:DMA, hdd:pio
hda: IBM-DJSA-210, ATA DISK drive
hdc: LG DVD-ROM DRN-8060B, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: IBM-DJSA-210, 9590MB w/384kB Cache, CHS=1222/255/63
hdc: ATAPI 24X DVD-ROM drive, 512kB Cache
Uniform CDROM driver Revision: 2.56
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid5: measuring checksumming speed
raid5: KNI detected, trying cache-avoiding KNI checksum routine
pIII_kni : 20.574 MB/sec
raid5: MMX detected, trying high-speed MMX checksum routines
pII_mmx : 18.288 MB/sec
p5_mmx : 17.145 MB/sec
8regs : 9.525 MB/sec
32regs : 5.715 MB/sec
using fastest function: pIII_kni (20.574 MB/sec)
scsi : 0 hosts.
scsi : detected total.
md.c: sizeof(mdp_super_t) = 4096
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 >
autodetecting RAID arrays
autorun ...
... autorun DONE.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 64k freed
Adding Swap: 248996k swap-space (priority -1)
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html
eepro100.c: $Revision: 1.18 $ 1999/12/29 Modified by Andrey V. Savochkin
<[email protected]>
The PCI BIOS has not enabled this device! Updating PCI command
0013->0017.
eth0: OEM i82557/i82558 10/100 Ethernet at 0xd0046000, 00:D0:59:2A:84:EB,
IRQ 11.
Receiver lock-up bug exists -- enabling work-around.
Board assembly 980100-000, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0xdbd8681d).
eth0: 0 multicast blocks dropped.
Linux PCMCIA Card Services 3.1.8
kernel build: 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000
options: [pci] [cardbus] [apm]
Intel PCIC probe:
Unknown [0x104c 0xac50] PCI-to-CardBus at bus 0 slot 10, mem 0x68000000, 1
socket
host opts [0]: [no pci irq] [lat 32/176] [bus 32/34]
ISA irqs (scanned) = 3,4,5,7,10 polling interval = 1000 ms
cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x158-0x15f 0x378-0x37f
0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.

For one of the kernel's which runs SLOW:
Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4 20010604 (Debian
prerelease)) #3 Tue Jun 26 11:10:12 WST 2001
Detected 797050962 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 794.62 BogoMIPS
Memory: 253904k/257984k available (880k kernel code, 416k reserved, 2744k
data, 40k init)
Dentry hash table entries: 32768 (order 6, 256k)
Buffer cache hash table entries: 262144 (order 8, 1024k)
Page cache hash table entries: 65536 (order 6, 256k)
Pentium-III serial number disabled.
CPU: Intel Pentium III (Coppermine) stepping 06
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
PCI: PCI BIOS revision 2.10 entry at 0xfd83e
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 262144 bhash 65536)
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1460-0x1467, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1468-0x146f, BIOS settings: hdc:DMA, hdd:pio
hda: IBM-DJSA-210, ATA DISK drive
hdc: LG DVD-ROM DRN-8060B, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: IBM-DJSA-210, 9590MB w/384kB Cache, CHS=1222/255/63
hdc: ATAPI 24X DVD-ROM drive, 512kB Cache
Uniform CDROM driver Revision: 2.56
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
The PCI BIOS has not enabled this device! Updating PCI command
0013->0017.
eth0: Invalid EEPROM checksum 0x7b73, check settings before activating this
device!
eth0: Intel EtherExpress Pro 10/100 at 0x1400, 00:B4:00:80:00:A6, IRQ 11.
Receiver lock-up bug exists -- enabling work-around.
Board assembly 800080-000, Physical connectors present:
Primary interface chip None PHY #0.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0xdbd8681d).
Receiver lock-up workaround activated.
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 >
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 40k freed
Adding Swap: 248996k swap-space (priority -1)

[X.] Other notes, patches, fixes, workarounds:
I reiterate - I have got the machine running acceptably (read speed is what
I expect) by change on one pre-compiled RedHat kernel. EVERY other kernel I
have compiled & tried runs DOG SLOW.

Would appreciate any help.
--
Daniel Harvey <[email protected]> Phone/Fax +61 8 9389 7844/33
Director, Amristar Pty Ltd; http://www.amristar.com.au Mobile +61 41 444 8136



2001-07-11 11:38:34

by Jeff Garzik

[permalink] [raw]
Subject: Re: UPDATE: Linux SLOW on Compaq Armada 110 PIII Speedstep

It sounds like you have the same problem I had -- lack of docs for
Intel's SpeedStep means we cannot set/reset the speed.

You need to go into BIOS setup and change your processor speed.

--
Jeff Garzik | A recent study has shown that too much soup
Building 1024 | can cause malaise in laboratory mice.
MandrakeSoft |

2001-07-11 18:44:40

by Andrew Grover

[permalink] [raw]
Subject: RE: UPDATE: Linux SLOW on Compaq Armada 110 PIII Speedstep

For another data point, you might try disabling APM.

-- Andy

> From: Daniel Harvey [mailto:[email protected]]
> Sent: Wednesday, July 11, 2001 1:34 AM
> To: [email protected]; [email protected]
> Subject: UPDATE: Linux SLOW on Compaq Armada 110 PIII Speedstep
> Importance: High
>
>
> Hi,
>
> I submitted this request about a week ago, and have tested some of the
> suggestions raised. See below for results. For completeness I
> include my
> original post.
>
> ------
> UPDATE
> ------
>
> Every kernel runs DOG slow except for a vanilla 2.2.14 with the patch
> included below (patch taken from the RedHat kernel-2.2.14-5.0.src.rpm
> package.
>
> This patch makes this following change to the kernel as
> reported on bootup:
>
> < dcache_init(259068880l)Dentry hash table entries: 262144
> (order 9, 2048k)
> ---
> > dcache_init(257984l)Dentry hash table entries: 32768 (order 6, 256k)
>
> However, even if I manually increase this cache size in the
> 2.4.5 kernel, it
> still runs DOG slow. i.e. make dep takes 30-45 mins
>
> Note that I have confirmed memory + disk bandwidth seems ok
> on the face of
> it:
>
> Stream reports
> Function Rate (MB/s) RMS time Min time Max time
> Copy: 220.6927 0.1457 0.1450 0.1466
> Scale: 215.8473 0.1485 0.1483 0.1488
> Add: 266.8000 0.1805 0.1799 0.1813
> Triad: 243.0946 0.1978 0.1975 0.1983
>
> # hdparm -tT /dev/hda
> /dev/hda:
> Timing buffer-cache reads: 128 MB in 1.21 seconds =105.79 MB/sec
> Timing buffered disk reads: 64 MB in 3.79 seconds = 16.89 MB/sec
>
> So I don't know what to think, any suggestions?
>
> cat >linux-2.2.13-bigmem-dcache.patch <<EOF
> --- linux/fs/dcache.c.bigmem-dcache Tue Nov 16 18:41:05 1999
> +++ linux/fs/dcache.c Tue Nov 16 18:42:19 1999
> @@ -860,12 +860,11 @@
> return ino;
> }
>
> -void __init dcache_init(void)
> +void __init dcache_init(unsigned long memory_size)
> {
> int i, order;
> struct list_head *d;
> unsigned int nr_hash;
> - unsigned long memory_size;
>
> /*
> * A constructor could be added for stable state like the lists,
> @@ -883,9 +882,6 @@
> if (!dentry_cache)
> panic("Cannot create dentry cache");
>
> - memory_size = num_physpages << PAGE_SHIFT;
> - memory_size >>= 13;
> - memory_size *= 2 * sizeof(void *);
> for (order = 0; ((1UL << order) << PAGE_SHIFT) <
> memory_size; order++);
>
> do {
> --- linux/init/main.c.bigmem-dcache Tue Nov 16 18:41:06 1999
> +++ linux/init/main.c Tue Nov 16 18:41:08 1999
> @@ -1217,7 +1217,7 @@
> #endif
> uidcache_init();
> filescache_init();
> - dcache_init();
> + dcache_init(memory_end-memory_start);
> vma_init();
> buffer_init(memory_end-memory_start);
> page_cache_init(memory_end-memory_start);
> --- linux/include/linux/fs.h.bigmem-dcache Tue Nov 16 18:41:06 1999
> +++ linux/include/linux/fs.h Tue Nov 16 18:41:08 1999
> @@ -171,7 +171,7 @@
> extern void buffer_init(unsigned long);
> extern void inode_init(void);
> extern void file_table_init(void);
> -extern void dcache_init(void);
> +extern void dcache_init(unsigned long);
>
> typedef char buffer_block[BLOCK_SIZE];
> EOF
>
> -------------
> ORIGINAL POST
> -------------
>
> [1.] Linux SLOW on Compaq Armada 110 PIII Speedstep
>
> [2.]
>
> I have a just brought a Compaq Armade 110 PIII, and am having a lot of
> trouble getting the kernel to operate effectively. The
> problem is that any
> kernel I run (except one pre-compiled RedHat kernel) runs
> very slowly. The
> thing is that disk IO tests seem fine, BogoMIPS reports high,
> but the system
> is dog-slow (kernel make dep takes ~45mins).
>
> The kernel which works FAST (read ok) is:
> Linux version 2.2.14-5.0 ([email protected]) (gcc version
> egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar
> 7 21:07:39 EST
> 2000
>
> One of the kernels which works SLOW (have tried right through
> to 2.4.5):
> Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4
> 20010604 (Debian
> prerelease))
>
> [3.] Keywords - kernel, cpu, notebook, laptop
> [4.] Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4 20010604
> (Debian prerelease))
> - although is as SLOW on any kernel up to 2.4.5 except
> the one above.
> [5.] Output of Oops.. - N/A
> [6.] Shell script - N/A
>
> [7.] Environment
> [7.1.] Software
> Gnu C 2.95.4
> Gnu make 3.79.1
> binutils 2.11.90.0.7
> util-linux
> util-linux Note: /usr/bin/fdformat is obsolete
> and is no longer
> available.
> util-linux Please use /usr/bin/superformat
> instead (make sure
> you have the
> util-linux fdutils package installed first).
> Also, there had
> been some
> util-linux major changes from version 4.x.
> Please refer to the
> documentation.
> util-linux
> mount 2.10f
> modutils 2.4.6
> e2fsprogs 1.18
> pcmcia-cs 3.1.22
> PPP 2.4.1
> Linux C Library 2.2.3
> Dynamic linker (ldd) 2.2.3
> Procps 2.0.6
> Net-tools 1.54
> Console-tools 0.2.3
> Sh-utils 2.0
> Modules Loaded ds i82365 pcmcia_core eepro100 vfat fat smbfs
>
> [7.2.] Processor info.
> One kernel which runs SLOW:
> vendor_id : GenuineIntel
> cpu family : 6
> model : 8
> model name : Pentium III (Coppermine)
> stepping : 6
> cpu MHz : 797.084
> cache size : 256 KB
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 3
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr
> pge mca cmov pat pse36
> mmx fxsr sse
> bogomips : 1589.24
>
> Kernel which runs acceptably (speed wise):
> processor : 0
> vendor_id : GenuineIntel
> cpu family : 6
> model : 8
> model name : Pentium III (Coppermine)
> stepping : 6
> cpu MHz : 797.050962
> cache size : 256 KB
> fdiv_bug : no
> hlt_bug : no
> sep_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 3
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge
> mca cmov pat
> pse36 pn mmx fxsr xmm
> bogomips : 794.62
>
> [7.3.] Module information
> ds 6736 1
> i82365 29808 1
> pcmcia_core 44480 0 [ds i82365]
> eepro100 15696 1
> vfat 9312 0 (unused)
> fat 30368 0 [vfat]
> smbfs 25600 0 (unused)
>
> [7.4.] Loaded driver and hardware information (/proc/ioports,
> /proc/iomem)
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0070-007f : rtc
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 02f8-02ff : serial(set)
> 0376-0376 : ide1
> 03c0-03df : vga+
> 03f6-03f6 : ide0
> 03f8-03ff : serial(set)
> 1460-1467 : ide0
> 1468-146f : ide1
> d0046000-d004601f : Intel Speedo3 Ethernet
>
> [7.5.] PCI information ('lspci -vvv' as root)
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8601 [Apollo
> ProMedia] (rev
> 05)
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort+ >SERR- <PERR+
> Latency: 0
> Region 0: Memory at f8000000 (32-bit, prefetchable)
> Capabilities: [a0] AGP version 2.0
> Status: RQ=7 SBA+ 64bit- FW- Rate=x1,x2
> Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
>
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8601 [Apollo
> ProMedia AGP]
> (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort+ >SERR- <PERR+
> Latency: 0
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: f4100000-f57fffff
> Prefetchable memory behind bridge: fff00000-000fffff
> BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
>
> 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo
> Super South]
> (rev 22)
> Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping+ SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Latency: 0
>
> 00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
> (prog-if 8a [Master SecP PriP])
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Latency: 64
> Region 4: I/O ports at 1460
> Capabilities: [c0] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev
> 10) (prog-if 00
> [UHCI])
> Subsystem: Unknown device 0925:1234
> Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV+
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Interrupt: pin D routed to IRQ 11
> Region 4: I/O ports at 1440
> Capabilities: [80] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
> ACPI] (rev 30)
> Control: I/O- Mem- BusMaster- SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Capabilities: [68] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:07.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio
> Controller (rev 20)
> Subsystem: Compaq Computer Corporation: Unknown device b194
> Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV-
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Interrupt: pin C routed to IRQ 9
> Region 0: I/O ports at 1000
> Region 1: I/O ports at 1474
> Region 2: I/O ports at 1470
> Capabilities: [c0] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:09.0 Ethernet controller: Intel Corporation 82557
> [Ethernet Pro 100] (rev
> 09) Subsystem: Intel Corporation: Unknown device 2201
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+
> VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
> >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Latency: 66 (2000ns min, 14000ns max), cache line size 08
> Interrupt: pin A routed to IRQ 11
> Region 0: Memory at f4020000 (32-bit, non-prefetchable)
> Region 1: I/O p
>
> [7.6.] SCSI information (from /proc/scsi/scsi) - N/A
>
> [7.7.] Other information that might be relevant to the problem
> (please look in /proc and include all information that you
> think to be relevant):
>
> There is a few messages that I am not clear on in the boot-up
> sequence.
>
> For the kernel which runs FAST:
> Linux version 2.2.14-5.0 ([email protected]) (gcc version
> egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar
> 7 21:07:39 EST
> 2000
> Detected 797050962 Hz processor.
> Console: colour VGA+ 80x25
> Calibrating delay loop... 794.62 BogoMIPS
> Memory: 253564k/257984k available (1060k kernel code, 416k
> reserved, 2880k
> data, 64k init, 0k bigmem)
> Dentry hash table entries: 262144 (order 9, 2048k)
> Buffer cache hash table entries: 262144 (order 8, 1024k)
> Page cache hash table entries: 65536 (order 6, 256k)
> VFS: Diskquotas version dquot_6.4.0 initialized
> CPU: Intel Pentium III (Coppermine) stepping 06
> Enabling extended fast FPU save and restore...done.
> Not enabling KNI unmasked exception support
> Exception 19 error handler not integrated yet
> Disabling CPUID Serial number...done.
> Checking 386/387 coupling... OK, FPU using exception 16 error
> reporting.
> Checking 'hlt' instruction... OK.
> POSIX conformance testing by UNIFIX
> mtrr: v1.35a (19990819) Richard Gooch ([email protected])
> PCI: PCI BIOS revision 2.10 entry at 0xfd83e
> PCI: Using configuration type 1
> PCI: Probing PCI hardware
> Linux NET4.0 for Linux 2.2
> Based upon Swansea University Computer Society NET3.039
> NET4: Unix domain sockets 1.0 for Linux NET4.0.
> NET4: Linux TCP/IP 1.0 for NET4.0
> IP Protocols: ICMP, UDP, TCP, IGMP
> TCP: Hash tables configured (ehash 262144 bhash 65536)
> Initializing RT netlink socket
> Starting kswapd v 1.5
> Detected PS/2 Mouse Port.
> Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A
> pty: 256 Unix98 ptys configured
> apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
> Real Time Clock Driver v1.09
> RAM disk driver initialized: 16 RAM disks of 4096K size
> VP_IDE: IDE controller on PCI bus 00 dev 39
> VP_IDE: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0x1460-0x1467, BIOS settings: hda:DMA, hdb:pio
> ide1: BM-DMA at 0x1468-0x146f, BIOS settings: hdc:DMA, hdd:pio
> hda: IBM-DJSA-210, ATA DISK drive
> hdc: LG DVD-ROM DRN-8060B, ATAPI CDROM drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: IBM-DJSA-210, 9590MB w/384kB Cache, CHS=1222/255/63
> hdc: ATAPI 24X DVD-ROM drive, 512kB Cache
> Uniform CDROM driver Revision: 2.56
> Floppy drive(s): fd0 is 1.44M
> FDC 0 is a post-1991 82077
> md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
> raid5: measuring checksumming speed
> raid5: KNI detected, trying cache-avoiding KNI checksum routine
> pIII_kni : 20.574 MB/sec
> raid5: MMX detected, trying high-speed MMX checksum routines
> pII_mmx : 18.288 MB/sec
> p5_mmx : 17.145 MB/sec
> 8regs : 9.525 MB/sec
> 32regs : 5.715 MB/sec
> using fastest function: pIII_kni (20.574 MB/sec)
> scsi : 0 hosts.
> scsi : detected total.
> md.c: sizeof(mdp_super_t) = 4096
> Partition check:
> hda: hda1 hda2 hda3 hda4 < hda5 >
> autodetecting RAID arrays
> autorun ...
> ... autorun DONE.
> VFS: Mounted root (ext2 filesystem) readonly.
> Freeing unused kernel memory: 64k freed
> Adding Swap: 248996k swap-space (priority -1)
> eepro100.c:v1.09j-t 9/29/99 Donald Becker
> http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html
> eepro100.c: $Revision: 1.18 $ 1999/12/29 Modified by Andrey
> V. Savochkin
> <[email protected]>
> The PCI BIOS has not enabled this device! Updating PCI command
> 0013->0017.
> eth0: OEM i82557/i82558 10/100 Ethernet at 0xd0046000,
> 00:D0:59:2A:84:EB,
> IRQ 11.
> Receiver lock-up bug exists -- enabling work-around.
> Board assembly 980100-000, Physical connectors present: RJ45
> Primary interface chip i82555 PHY #1.
> General self-test: passed.
> Serial sub-system self-test: passed.
> Internal registers self-test: passed.
> ROM checksum self-test: passed (0xdbd8681d).
> eth0: 0 multicast blocks dropped.
> Linux PCMCIA Card Services 3.1.8
> kernel build: 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000
> options: [pci] [cardbus] [apm]
> Intel PCIC probe:
> Unknown [0x104c 0xac50] PCI-to-CardBus at bus 0 slot 10,
> mem 0x68000000, 1
> socket
> host opts [0]: [no pci irq] [lat 32/176] [bus 32/34]
> ISA irqs (scanned) = 3,4,5,7,10 polling interval = 1000 ms
> cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
> cs: IO port probe 0x0800-0x08ff: clean.
> cs: IO port probe 0x0100-0x04ff: excluding 0x158-0x15f 0x378-0x37f
> 0x4d0-0x4d7
> cs: IO port probe 0x0a00-0x0aff: clean.
>
> For one of the kernel's which runs SLOW:
> Linux version 2.2.14 (root@elvandar) (gcc version 2.95.4
> 20010604 (Debian
> prerelease)) #3 Tue Jun 26 11:10:12 WST 2001
> Detected 797050962 Hz processor.
> Console: colour VGA+ 80x25
> Calibrating delay loop... 794.62 BogoMIPS
> Memory: 253904k/257984k available (880k kernel code, 416k
> reserved, 2744k
> data, 40k init)
> Dentry hash table entries: 32768 (order 6, 256k)
> Buffer cache hash table entries: 262144 (order 8, 1024k)
> Page cache hash table entries: 65536 (order 6, 256k)
> Pentium-III serial number disabled.
> CPU: Intel Pentium III (Coppermine) stepping 06
> Checking 386/387 coupling... OK, FPU using exception 16 error
> reporting.
> Checking 'hlt' instruction... OK.
> Checking for popad bug... OK.
> POSIX conformance testing by UNIFIX
> PCI: PCI BIOS revision 2.10 entry at 0xfd83e
> PCI: Using configuration type 1
> PCI: Probing PCI hardware
> Linux NET4.0 for Linux 2.2
> Based upon Swansea University Computer Society NET3.039
> NET4: Unix domain sockets 1.0 for Linux NET4.0.
> NET4: Linux TCP/IP 1.0 for NET4.0
> IP Protocols: ICMP, UDP, TCP
> TCP: Hash tables configured (ehash 262144 bhash 65536)
> Starting kswapd v 1.5
> Detected PS/2 Mouse Port.
> Serial driver version 4.27 with no serial options enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A
> pty: 256 Unix98 ptys configured
> apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
> VP_IDE: IDE controller on PCI bus 00 dev 39
> VP_IDE: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0x1460-0x1467, BIOS settings: hda:DMA, hdb:pio
> ide1: BM-DMA at 0x1468-0x146f, BIOS settings: hdc:DMA, hdd:pio
> hda: IBM-DJSA-210, ATA DISK drive
> hdc: LG DVD-ROM DRN-8060B, ATAPI CDROM drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: IBM-DJSA-210, 9590MB w/384kB Cache, CHS=1222/255/63
> hdc: ATAPI 24X DVD-ROM drive, 512kB Cache
> Uniform CDROM driver Revision: 2.56
> Floppy drive(s): fd0 is 1.44M
> FDC 0 is a post-1991 82077
> The PCI BIOS has not enabled this device! Updating PCI command
> 0013->0017.
> eth0: Invalid EEPROM checksum 0x7b73, check settings before
> activating this
> device!
> eth0: Intel EtherExpress Pro 10/100 at 0x1400,
> 00:B4:00:80:00:A6, IRQ 11.
> Receiver lock-up bug exists -- enabling work-around.
> Board assembly 800080-000, Physical connectors present:
> Primary interface chip None PHY #0.
> General self-test: passed.
> Serial sub-system self-test: passed.
> Internal registers self-test: passed.
> ROM checksum self-test: passed (0xdbd8681d).
> Receiver lock-up workaround activated.
> Partition check:
> hda: hda1 hda2 hda3 hda4 < hda5 >
> VFS: Mounted root (ext2 filesystem) readonly.
> Freeing unused kernel memory: 40k freed
> Adding Swap: 248996k swap-space (priority -1)
>
> [X.] Other notes, patches, fixes, workarounds:
> I reiterate - I have got the machine running acceptably (read
> speed is what
> I expect) by change on one pre-compiled RedHat kernel. EVERY
> other kernel I
> have compiled & tried runs DOG SLOW.
>
> Would appreciate any help.
> --
> Daniel Harvey <[email protected]> Phone/Fax +61 8 9389 7844/33
> Director, Amristar Pty Ltd; http://www.amristar.com.au Mobile +61 41 444 8136
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>