Wednesday, 25 May 2022

RedHat Linux 7.3 (Valhalla) on PCem Pentium 75

Red Hat Linux 7.3 GNOME desktop

RedHat Linux

Initially established back in 1994, Red Hat (Wikipedia) is a commercial Linux vendor known for the RedHat Linux, Red Hat Enterprise Linux (RHEL) and Fedora Linux distributions.

RedHat Linux 7.3 (Valhalla) was released in 2002, and supported i386 through early Pentium 4 systems (the Intel Core based processors didn't ship until 2006). So it is suitable for comparing our physical Intel Pentium system (tilia) and the PCem emulated equivalent.

Earlier Releases

A couple of earlier Red Hat Linux releases are described on the same PCem system in:

It is interesting to see the evolution of the Red Hat Linux distribution over these releases.

PCem

The IBM PC and compatibles emulator PCem supports a range of PC system, from the original Intel 8088 based IBM PC through to a early 2000s slot 1 based Pentium II system. This includes a couple of systems featuring the Intel 430fx chipset which makes them equivalent to our physical system.

So the target emulated hardware is:

MainboardIntel Advanced/ZP (Zappa); Intel Triton 82430FX PCIset aka. 430FX
CPUIntel Pentium 75
RAM72 MiB (128 MiB max.)
Floppy3.5" 2.88MB
StorageIDE Controller Intel 82371FB aka. PIIX, ATA-2 16 MB/s
IDE hard disk 2048 GB
ATAPI CD-ROM drive
VideoS3 Trio64 based VGA
Network10Mb/s ethernet ISA

PCem Installation & Configuration

Since we have the PCem installation from the Slackware 3.0 on PCem Pentium 75, where we looked at how an early Slackware behaved on similar configuration, refer to that post of details of the installation of PCem and the configuration of the emulated machine.

For this emulation the only differences are the name given to the configuration ("RedHat Linux 7 i430fx Pentium 75") and the file name used for the hard disk image (RedHat73-i430fx-P5.img).

RedHat Linux 7.3 Installation

  1. Fetch the RedHat Linux 7.3 CD-ROM images from the Red Hat archive site (http://archive.download.redhat.com/pub/redhat/linux/7.3/emea/iso/i386/), for installation we only need the three binary CDs.
  2. RedHat Linux 7.3 CD 1 is bootable and will boot our machine if the option is enabled in the BIOS.
  3. So back to PCem...
    1. Start/load the machine we created
    2. Use the "CD-ROM">"Image..." menu to insert the CD-ROM ISO
    3. When first booted the machine will stop for the BIOS settings to be confirmed. Most of the settings will be fine, but the BIOS needs to be told about the floppy drive being 2.88MB and that we want the CD-ROM to be a boot device.
  4. The RedHat Linux installer is pretty good, so just follow the prompts.
    1. The mouse is a "Mouse Systems (serial)"
    2. For "Monitor Selection" I chose "Generic Monitor, 1280x1024 @ 76 Hz"
    3. Due to the performance overheads of running X Windows, for "login type" select "Text"
    4. Remember to "Empty" the CD-ROM drive when the installer reboots the system.
  5. Once logged in:
    1. To get the NE2000 ISA network card to work:
      • as 'root' test that the 'ne' module finds the card with: # modprobe ne io=0x300 irq=10
      • if that worked (eth0: NE2000 found at 0x300, using IRQ 10), remove the loaded module with # rmmod ne
      • to set up automatic loading of the 'ne' module we need to configure /etc/modules.conf:
        • if /etc/modules.conf does not exist, but /etc/conf.modules does, rename the modules file: # mv /etc/conf.modules /etc/modules.conf
        • add the following to /etc/modules.conf:
          # NE2000 ISA ethernet adapter
          alias eth0 ne
          options eth0 io=0x300 irq=10
      • manually load the module with # modprobe eth0
      • now run the network configuration: # netconfig
      • for SLiRP networking select "Use dynamic IP configuration (BOOTP/DHCP)"
      • check the network configuration got an IP address with # /sbin/ifconfig -a
    2. the X server was configured during installation, if you need to reconfigure use Xconfigurator
    3. if the configured name server doesn't work. Try adding the your network DNS address to /etc/resolv.conf as another nameserver

System Information - RedHat Linux 7.3 (Valhalla)

So what does RedHat Linux 7.3 (Valhalla) for x86 say about this system...

uname

Operating system release information:

$ uname -a
Linux p-rh73 2.4.18-3 #1 Thu Apr 18 07:31:07 EDT 2002 i586 unknown

A "Linux" kernel, on a node named "p-rh73", kernel release "2.4.18-3", version "#1 Thu Apr 18 07:31:07 EDT 2002", on a "i586" machine, processor "unknown"

/proc/cpuinfo

Processor information:

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 5
model		: 2
model name	: Pentium 75 - 200
stepping	: 4
cpu MHz		: 75.005
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: yes
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme pse tsc msr cx8
bogomips	: 149.50

The CPUID information is consistent with this being a second generation Intel Pentium processor (P54C), which is expected. The BogoMips result is consistent with the approximately double clock speed rating expected with this kernel and processor (75.0 * 1.99 = 149.25).

/proc/meminfo

Memory information:

$ cat /proc/meminfo 
        total:    used:    free:  shared: buffers:  cached:
Mem:  71876608 58888192 12988416        0  4722688 42819584
Swap: 263200768        0 263200768
MemTotal:        70192 kB
MemFree:         12684 kB
MemShared:           0 kB
Buffers:          4612 kB
Cached:          41816 kB
SwapCached:          0 kB
Active:          36308 kB
Inact_dirty:       488 kB
Inact_clean:     14840 kB
Inact_target:    10324 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        70192 kB
LowFree:         12684 kB
SwapTotal:      257032 kB
SwapFree:       257032 kB
Committed_AS:     6352 kB

So 72 MiB RAM, with about 36 MB of swap.

lspci, /proc/bus/pci/devices & /proc/pci

PCI device report:

$ /sbin/lspci
00:00.0 Host bridge: Intel Corp. 430FX - 82437FX TSC [Triton I]
00:07.0 ISA bridge: Intel Corp. 82371FB PIIX ISA [Triton I]
00:07.1 IDE interface: Intel Corp. 82371FB PIIX IDE [Triton I]
00:0d.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+]

The machine readable /proc/bus/pci/devices:

$ cat /proc/bus/pci/devices
0000	8086122d	0	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	
0038	8086122e	0	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	00000000	
0039	80861230	0	00000000	00000000	00000000	00000000	0000ffa1	00000000	00000000	00000000	00000000	00000000	00000000	00000010	00000000	00000000	
0068	53338811	b	ff000000	00000000	00000000	00000000	00000000	00000000	00000000	00800000	00000000	00000000	00000000	00000000	00000000	00010000	

And the obsolete /proc/pci, which was how to get PCI in older kernels:

$ cat /proc/pci
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 430FX - 82437FX TSC [Triton I] (rev 0).
      Master Capable.  Latency=66.  
  Bus  0, device   7, function  0:
    ISA bridge: Intel Corp. 82371FB PIIX ISA [Triton I] (rev 0).
  Bus  0, device   7, function  1:
    IDE interface: Intel Corp. 82371FB PIIX IDE [Triton I] (rev 0).
      Master Capable.  Latency=66.  
      I/O at 0xffa0 [0xffaf].
  Bus  0, device  13, function  0:
    VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 0).
      IRQ 11.
      Non-prefetchable 32 bit memory at 0xff000000 [0xff7fffff].

In each case we get details of the same devices, but presented differently. Since the network card is on the ISA bus, we only see the mainboard chipset and the graphics card.

dmesg

System log:

$ dmesg
Linux version 2.4.18-3 (bhcompile@stripples.devel.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)) #1 Thu Apr 18 07:31:07 EDT 2002
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 0000000000100000 - 0000000004800000 (usable)
 BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
On node 0 totalpages: 18432
zone(0): 4096 pages.
zone(1): 14336 pages.
zone(2): 0 pages.
Kernel command line: ro root=/dev/hda2
Initializing CPU#0
Detected 75.005 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 149.50 BogoMIPS
Memory: 69796k/73728k available (1129k kernel code, 3544k reserved, 791k data, 272k init, 0k highmem)
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
Buffer cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
CPU: Before vendor init, caps: 0000013b 00000000 00000000, vendor = 0
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After vendor init, caps: 0000013b 00000000 00000000 00000000
CPU:     After generic, caps: 0000013b 00000000 00000000 00000000
CPU:             Common caps: 0000013b 00000000 00000000 00000000
CPU: Intel Pentium 75 - 200 stepping 04
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: none
PCI: PCI BIOS revision 2.10 entry at 0xfca21, last bus=0
PCI: Using configuration type 1
PCI: Probing PCI hardware
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.1 Flags 0x03 (Driver version 1.16)
Starting kswapd
VFS: Diskquotas version dquot_6.5.0 initialized
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
block: 128 slots per queue, batch=32
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX: IDE controller on PCI bus 00 dev 38
PIIX: chipset revision 0
PIIX: not 100% native mode: will probe irqs later
PIIX: neither IDE port enabled (BIOS)
PIIX: IDE controller on PCI bus 00 dev 39
PIIX: chipset revision 0
PIIX: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
hda: PCemHD, ATA DISK drive
hdc: PCemCD, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
blk: queue c0353d44, I/O limit 4095Mb (mask 0xffffffff)
hda: 8388576 sectors (4295 MB) w/256KiB Cache, CHS=522/255/63
ide-floppy driver 0.99.newide
Partition check:
 hda: hda1 hda2 hda3
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 8192 bind 8192)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 120k freed
VFS: Mounted root (ext2 filesystem).
Journalled Block Device driver loaded
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 272k freed
Adding Swap: 257032k swap-space (priority -1)
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,2), internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ide-floppy driver 0.99.newide
hdc: ATAPI 24X CD-ROM drive, 0kB Cache, DMA
Uniform CD-ROM driver Revision: 3.12
hdc: DMA disabled
parport0: PC-style at 0x3bc [PCSPP]
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0x300: ac de 48 88 bb aa
eth0: NE2000 found at 0x300, using IRQ 10.

Here we see the results of hardware detection and initialization.

Benchmark

Since we have some information from an equivalent physical system (tilia), let's see how well the emulated system matches up let's run some benchmarks...

BogoMips

The BogoMips (Wikipedia) pseudo-benchmark has a behavior where the score is related to the processor clock speed, and has an easily available collection of results from a range of systems (see BogoMips mini-Howto and our BogoMips Results).

PCem system: Linux 2.4.18, RedHat Linux 7.3 (Valhalla) for x86:

Calibrating delay loop... 149.50 BogoMIPS

Comparing our physical system and the emulated system:

LinuxtiliaPCem
DistributionKernelBogoMipsBogoMips
Slackware Linux 3.0Linux 1.2.1329.8074.98
RedHat Linux 5.2 (Apollo)Linux 2.0.3629.8074.75
RedHat Linux 6.2 (Zoot)Linux 2.2.1429.8074.75
Mandrake Linux 7.2 (Odyssey)Linux 2.2.17148.68149.50
RedHat Linux 7.3 (Valhalla)Linux 2.4.18148.68149.50

For the Linux 2.4 kernel used in RedHat Linux 7.3, the BogoMips results for the PCem system and our physical system are both around double CPU clock. This is in line with the expected value for the Intel Pentium 75 processor of around 150.0 (75 * 1.99 = 149.25).

OpenSSL

The OpenSSL library of cryptographic methods provides a means to test the performance of the methods. Using this we can get a feel for the computational performance of a system, and comparisons with real hardware and other emulations can show how well a particular emulation performs. Since we are mainly interested in old hardware, we'll test using two of the older methods: MD5 and RSA.

Note: old versions of OpenSSL are not recommended for actual use. If you want to run comparisons like this, and thus need to use an old release, see the OpenSSL site for back to 0.9.6, for even older releases back to 0.9.1 see http://ftp.mirrorservice.org/sites/ftp.wiretapped.net/pub/security/cryptography/libraries/ssl/openssl/.

RedHat Linux 7.3 (Valhalla) for x86, with packaged OpenSSL 0.9.6b [engine]

$ openssl version
OpenSSL 0.9.6b [engine] 9 Jul 2001

Let's seen how MD5 and RSA do:

$ openssl speed md5 rsa
Doing md5 for 3s on 8 size blocks: 174967 md5's in 2.98s
Doing md5 for 3s on 64 size blocks: 114068 md5's in 3.00s
Doing md5 for 3s on 256 size blocks: 52933 md5's in 3.00s
Doing md5 for 3s on 1024 size blocks: 16832 md5's in 3.00s
Doing md5 for 3s on 8192 size blocks: 2286 md5's in 3.00s
Doing 512 bit private rsa's for 10s: 206 512 bit private RSA's in 10.01s
Doing 512 bit public rsa's for 10s: 2276 512 bit public RSA's in 9.97s
Doing 1024 bit private rsa's for 10s: 37 1024 bit private RSA's in 10.13s
Doing 1024 bit public rsa's for 10s: 663 1024 bit public RSA's in 10.00s
Doing 2048 bit private rsa's for 10s: 6 2048 bit private RSA's in 10.94s
Doing 2048 bit public rsa's for 10s: 178 2048 bit public RSA's in 10.04s
Doing 4096 bit private rsa's for 10s: 1 4096 bit private RSA's in 13.27s
Doing 4096 bit public rsa's for 10s: 46 4096 bit public RSA's in 10.05s
OpenSSL 0.9.6b [engine] 9 Jul 2001
built on: Thu Apr  4 12:18:55 EST 2002
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) blowfish(idx) 
compiler: gcc -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DNO_ASM -DNO_IDEA -DNO_MDC2 -DNO_RC5 -DL_ENDIAN -DTERMIO -O2 -march=i386 -mcpu=i686 -Wall
The 'numbers' are in 1000s of bytes per second processed.
type              8 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5                469.71k     2433.45k     4516.95k     5745.32k     6242.30k
                  sign    verify    sign/s verify/s
rsa  512 bits   0.0486s   0.0044s     20.6    228.3
rsa 1024 bits   0.2738s   0.0151s      3.7     66.3
rsa 2048 bits   1.8233s   0.0564s      0.5     17.7
rsa 4096 bits  13.2700s   0.2185s      0.1      4.6

Extracting the relevant figures for comparisons (see OpenSSL Speed Results):

  • OpenSSL speed MD5 8,192 bytes: 6,242.30k
  • OpenSSL speed RSA 4,096 bytes sign/s: 0.1
  • OpenSSL speed RSA 4,096 bytes verify/s: 4.6

So how does this compare to tilia?

OpenSSL results from tilia:

OSOpenSSL
Version
MD5
8,192 bytes
RSA
4,096 bytes
sign/s
RSA
4,096 bytes
verify/s
Linux 2.0.36
RedHat Linux 5.2
x86
0.9.2b
22 Mar 1999
12,391.77k0.211.2
Linux 2.2.14
RedHat Linux 6.2
x86
0.9.5a
1 Apr 2000
12,454.57k0.211.1
Linux 2.2.17
Mandrake Linux 7.2
x86
0.9.5a
1 Apr 2000
12,208.81k0.210.8
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]
9 Jul 2001
6,075.73k0.14.5

Note that the OpenSSL binaries used for RedHat Linux 5.2 and 6.2 have been compiled from source and used i486 optimizations. The Mandrake Linux 7.2 supplied OpenSSL is targeted at i586 (Pentium class) processors. The RedHat Linux 7.3 OpenSSL binaries are from the distribution supplied package which was built with the assembler implementations disabled and targeting i386 systems with i686 optimized code.

Comparing the Red Hat Linux 7.3 supplied OpenSLL results it seems that the PCem system has slightly better performance (approx. +3% for MD5), than the physical hardware in tilia.

For reference, a full run of all the methods provided by the system OpenSSL 0.9.6b [engine] on this PCem system gives results (openssl speed):

OpenSSL 0.9.6b [engine] 9 Jul 2001
built on: Thu Apr  4 12:18:55 EST 2002
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) blowfish(idx) 
compiler: gcc -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DNO_ASM -DNO_IDEA -DNO_MDC2 -DNO_RC5 -DL_ENDIAN -DTERMIO -O2 -march=i386 -mcpu=i686 -Wall
The 'numbers' are in 1000s of bytes per second processed.
type              8 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                 64.81k      185.51k      254.21k      279.89k      288.49k
mdc2                 0.00         0.00         0.00         0.00         0.00 
md4                649.10k     3788.82k     7757.48k    10505.90k    11717.29k
md5                471.47k     2429.99k     4517.12k     5745.32k     6242.30k
hmac(md5)          196.89k     1281.13k     3186.94k     5071.87k     6130.35k
sha1               281.73k     1137.60k     1808.04k     2120.36k     2233.69k
rmd160             232.70k     1051.84k     1787.56k     2166.10k     2310.14k
rc4               2310.19k     2662.12k     2706.94k     2717.70k     2722.47k
des cbc            496.10k      552.04k      558.85k      559.45k      562.52k
des ede3           199.53k      208.68k      209.75k      209.92k      210.26k
idea cbc             0.00         0.00         0.00         0.00         0.00 
rc2 cbc            400.89k      443.69k      448.94k      449.54k      450.56k
rc5-32/12 cbc        0.00         0.00         0.00         0.00         0.00 
blowfish cbc       970.00k     1232.38k     1269.50k     1278.98k     1283.41k
cast cbc           667.15k      781.91k      796.67k      800.43k      802.82k
                  sign    verify    sign/s verify/s
rsa  512 bits   0.0485s   0.0044s     20.6    227.9
rsa 1024 bits   0.2738s   0.0151s      3.7     66.2
rsa 2048 bits   1.8233s   0.0564s      0.5     17.7
rsa 4096 bits  13.2800s   0.2185s      0.1      4.6
                  sign    verify    sign/s verify/s
dsa  512 bits   0.0447s   0.0557s     22.4     18.0
dsa 1024 bits   0.1501s   0.1933s      6.7      5.2
dsa 2048 bits   0.5583s   0.7013s      1.8      1.4

Checking the performance with a locally compiled OpenSSL 0.9.6b using default options, which uses the assembler code and i486 optimizations, on the PCem system gives:

OpenSSL 0.9.6b 9 Jul 2001
built on: Sat Apr 16 21:12:50 BST 2022
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int) blowfish(idx) 
compiler: gcc -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
The 'numbers' are in 1000s of bytes per second processed.
type              8 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                 58.55k      165.55k      225.02k      246.86k      254.98k
mdc2               135.05k      140.05k      140.63k      140.63k      141.05k
md4                715.63k     3994.58k     8067.33k    10824.70k    12025.86k
md5                759.70k     4322.71k     8890.97k    12080.13k    13497.69k
hmac(md5)          291.26k     2016.51k     5598.81k    10068.99k    13129.05k
sha1               462.23k     2256.85k     4095.49k     5141.85k     5559.64k
rmd160             373.73k     1760.83k     3097.51k     3822.93k     4104.19k
rc4               5811.18k     8583.64k     9046.61k     9167.87k     9207.81k
des cbc           1392.04k     1560.66k     1581.31k     1586.52k     1589.25k
des ede3           531.14k      559.08k      562.26k      563.20k      563.37k
idea cbc           478.94k      516.69k      520.96k      522.24k      522.55k
rc2 cbc            388.72k      415.23k      418.30k      419.16k      419.13k
rc5-32/12 cbc     3413.06k     5011.03k     5220.78k     5275.31k     5292.03k
blowfish cbc      2580.45k     3195.22k     3279.19k     3300.35k     3309.57k
cast cbc          2254.75k     2716.74k     2777.26k     2792.45k     2798.93k
                  sign    verify    sign/s verify/s
rsa  512 bits   0.0263s   0.0023s     38.0    434.3
rsa 1024 bits   0.1388s   0.0072s      7.2    138.3
rsa 2048 bits   0.8550s   0.0250s      1.2     40.1
rsa 4096 bits   5.7950s   0.0904s      0.2     11.1
                  sign    verify    sign/s verify/s
dsa  512 bits   0.0237s   0.0284s     42.1     35.3
dsa 1024 bits   0.0713s   0.0871s     14.0     11.5
dsa 2048 bits   0.2433s   0.2953s      4.1      3.4

Showing the difference the assembler makes. Presumably Red Hat had found compatibility or security issues that led to them disabling this option.

Thoughts

PCem works well for getting a reasonably close match to old hardware, the slight difference in performance is not going to be an issue in most cases.

Further Sources


No comments: