[1718] in linux-scsi channel archive
SYM53C875/Atlas I benchmarks + cache line size register.
daemon@ATHENA.MIT.EDU (Gerard Roudier)
Thu Apr 17 13:41:49 1997
Date: Thu, 17 Apr 1997 19:27:41 +0000 (GMT)
From: Gerard Roudier <groudier@club-internet.fr>
To: linux-scsi@vger.rutgers.edu, ncr53c810@colorado.edu
I just noticed that my BIOS sets the PCI cache line size register to 0, or
just does not set it to the proper value.
This stuff should be fixed from the Linux PCI driver in order to make
working all PCI optimisations based of this register value.
Recent SYMBIOS chips need this register to be properly set in order
to perform optimizations based on the cache line size when accessing
the main memory from the PCI bus.
Below are some benchmark results I got after having hacked manually the cache
line size register of the 53C875 to the value 8. Is it correct?
I got this value from my weak knowledge of the Pentium architecture.
I would set it to 2 for a 486.
Hi PCI experts! can you, please, send us cache line sizes that shall be used
for current hardwares?
Hardware: old Tomcat I / 512kB plb cache + old P133 + old Atlas I wide +
Promise SCSI Ultra (875 rev. 3) + old 32 MB EDO memory.
Software: old Linux 2.0.29 + ncr53c8xx-1.18d
----------------------------------------------------------------------
4k block ext2 file system.
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
300 6032 94.2 7087 25.0 3233 24.3 5851 94.3 6675 22.2 86.3 3.1
Writing the 300 Megabyte file, 'iozone.tmp'...42.120000 seconds
Reading the file...48.690000 seconds
IOZONE performance measurements:
7468490 bytes/second for writing the file
6460727 bytes/second for reading the file
General information:
Chip NCR53C875, device id 0xf, revision id 0x3
IO port address 0x6000, IRQ number 11
Using memory mapped IO at virtual address 0x2823000
Synchronous period factor 12, max commands per lun 8
Profiling information:
num_trans = 33898
num_kbytes = 2510846
num_disc = 37437
num_break = 15581
num_int = 15612
num_fly = 33900
ms_setup = 41510
ms_data = 770420
ms_disc = 802860
ms_post = 1020
------------------------------------------------------------------------
1k block ext2 file system.
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
300 5096 93.3 6642 40.5 2975 33.1 5151 88.6 6373 27.1 49.9 2.8
Writing the 300 Megabyte file, 'iozone.tmp'...44.130000 seconds
Reading the file...49.920000 seconds
IOZONE performance measurements:
7128320 bytes/second for writing the file
6301538 bytes/second for reading the file
General information:
Chip NCR53C875, device id 0xf, revision id 0x3
IO port address 0x6000, IRQ number 11
Using memory mapped IO at virtual address 0x2823000
Synchronous period factor 12, max commands per lun 8
Profiling information:
num_trans = 50955
num_kbytes = 2522829
num_disc = 50218
num_break = 6039
num_int = 6070
num_fly = 50954
ms_setup = 106430
ms_data = 612800
ms_disc = 840350
ms_post = 1810
-----------------------------------------------------------------------
Gerard.