Hello,
I'm actually experiencing some strange behaviour running
linux-2.2.10-ac8 on the smp box described in the subject.
Two files are identical and are seen identical with the
UP kernel 2.0.36. but are "seen" corrupted in the 2.2.10 SMP
kernel (and also 2.2.6 SMP).
Here is the test :
md5sum on linux-2.0.36 non-smp
03a8bcf44d1bfce4212300658c264dc2 netscape-common-4.6-0.i386.rpm
03a8bcf44d1bfce4212300658c264dc2 titi/netscape-common-4.6-0.i386.rpm
(this is the correct md5sum for those files)
md5sum on linux-2.2.10-ac8 smp
0d8dedef347cb8d4db54053065350fd7 netscape-common-4.6-0.i386.rpm
8b9ca52a277a6dd86647fddf1978dc63 titi/netscape-common-4.6-0.i386.rpm
then I do some file accesses to eject those files from the buffer-cache:
% tar cf - /usr/src/linux | wc
and I do it again :
% md5sums netscape-common-4.6-0.i386.rpm titi/netscape-common-4.6-0.i386.rpm
31ef3319d2f8b1eced3bb2e868b2a4e6 netscape-common-4.6-0.i386.rpm
b5582fd042b49a38002be271c6b8f65b titi/netscape-common-4.6-0.i386.rpm
If I compare differences between those files, that are supposed
to be the same, I obtain :
% hexdump netscape-common-4.6-0.i386.rpm > a
% hexdump titi/netscape-common-4.6-0.i386.rpm > b
% diff a b
5649c5649
< 00169b0 4697 9c90 6e6a ccbf 77ea bd59 cc2b 6186
---
> 00169b0 4697 9c90 ee6a ccbf 77ea bd59 cc2b 6186
21770c21770
< 0055940 5a9d ad36 37a4 bb45 3144 c56c 4c70 e7a4
---
> 0055940 5a9d ad36 37a4 bb45 3144 c56c cc70 e7a4
54526c54526
< 00d5880 66ca 34ae fdcb d751 2fa6 1307 d175 d4dc
---
and so on. only a few bits are swapped in the file.
What can explain this ?
The 2 processors have different stepping, could this be a probable cause ?
Here are some snippets from my boot messages.
% dmesg
[snip snip]
CPU0: Intel Pentium 75 - 200 stepping 01
calibrating APIC timer ...
..... CPU clock speed is 90.2057 MHz.
..... system bus clock speed is 60.1369 MHz.
Booting processor 1 eip 2000
Calibrating delay loop... 36.04 BogoMIPS
OK.
CPU1: Intel Pentium 75 - 200 stepping 06
Total of 2 processors activated (71.99 BogoMIPS).
WARNING: SMP operation may be unreliable with B stepping processors.
enabling symmetric IO mode... ...done.
ENABLING IO-APIC IRQs
[snip snip]
PCI: PCI BIOS revision 2.00 entry at 0xfdbf0
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: 00:00 [8086/04a3]: Bridge optimization (00)
Cache L2: Not supported.
CPU-PCI posted write: on.
CPU-Memory posted write: on.
PCI-Memory posted write: off -> on.
PCI burst: on.
[snip snip]
CMD640: ignored by ide_scan_pci_device() (uses own driver)
ide0: buggy cmd640b interface on PCI (type1), config=0x7a
ide1: not serialized, secondary interface not responding
cmd640: drive0 timings/prefetch(off) preserved, clocks=4/5/13
cmd640: drive1 timings/prefetch(off) preserved, clocks=4/5/13
[snip snip]
scsi0 : AM53/79C974 PCscsi driver rev. 0.5; host I/O address: 0xff00; irq: 10
scsi : 1 host.
Vendor: IBM Model: DORS-32160 Rev: S84A
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: QUANTUM Model: LPS270S Rev: 590H
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
scsi : detected 2 SCSI disks total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 4226725 [2063 MB] [2.1 GB]
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 528808 [258 MB] [0.3 GB]
Partition check:
sda: sda1 sda2 < sda5 sda6 sda7 >
sdb: sdb1
VFS: Mounted root (ext2 filesystem) readonly.
I guess that B stepping processors could be the cause of the problem.
I read the doc in ./arch/i386/kernel/smp.c but this is not very clear
to me. Does a workaround exist for this case ? Thanks for your help.
% cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 2
model name : Pentium 75 - 200
stepping : 1
cpu MHz : 90.206896
fdiv_bug : yes
hlt_bug : no
sep_bug : no
f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic 10
bogomips : 35.94
processor : 1
vendor_id : GenuineIntel
cpu family : 5
model : 2
model name : Pentium 75 - 200
stepping : 6
cpu MHz : 90.206896
fdiv_bug : yes
hlt_bug : no
sep_bug : no
f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic
bogomips : 36.04
--
Fabrice
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]