public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Promise PDC20265, VIA KT133 and corruption
@ 2001-02-04  2:52 Petr Vandrovec
  2001-02-04  4:50 ` Nathan Walp
  0 siblings, 1 reply; 2+ messages in thread
From: Petr Vandrovec @ 2001-02-04  2:52 UTC (permalink / raw)
  To: andre; +Cc: linux-kernel

Hi Andre,
  if you remember, last week I complained that Promise corrupts data
when I copy them from hdh to hde. Today I did some more experiments
(running 2.4.1-ac1) and found:

1) Debian sid's 'cmp' prints incorrect offsets when files differ
   in more than one place if distance > cmp buffer size :-(
2) When I read data from hdh (UDMA2 Toshiba) sometime last four
   bytes of 4KB page (== probably last 4 bytes of read request)
   are not read at all and old contents of page is left here
   (it happens about once per 20MB read; and in about 1% of
   these last 8 bytes of page are incorrect).
   I have no idea whether promise or KT133 is at fault, but
   it for sure does not happen under Windows...
3) During write some corruption can happen on either hde (IBM
   DTLA-307045 running UDMA5) or hdh - it looks like that
   data are shifted on HDD, as fsck then complains about
   imagic set, dtime set while inode not deleted and so on,
   and then it cleaned inodes 178200-178300 from my hde :-(
   Fortunately they were mostly in old kernel trees,
   not in current data (except one inode, which was just
   created by dpkg)
4) So I compiled kernel without IDE DMA support at all and now
   everything works at PIO4 without any corruption...

  If anybody has any idea what I should try to get UDMA to
work under Linux here...

lspci:

00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265 (rev 02)
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04)

					Thanks,
						Petr Vandrovec
						vandrove@vc.cvut.cz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Promise PDC20265, VIA KT133 and corruption
  2001-02-04  2:52 Promise PDC20265, VIA KT133 and corruption Petr Vandrovec
@ 2001-02-04  4:50 ` Nathan Walp
  0 siblings, 0 replies; 2+ messages in thread
From: Nathan Walp @ 2001-02-04  4:50 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: andre, linux-kernel

Petr Vandrovec wrote:
> 
> Hi Andre,
>   if you remember, last week I complained that Promise corrupts data
> when I copy them from hdh to hde. Today I did some more experiments
> (running 2.4.1-ac1) and found:
> 
> 1) Debian sid's 'cmp' prints incorrect offsets when files differ
>    in more than one place if distance > cmp buffer size :-(
> 2) When I read data from hdh (UDMA2 Toshiba) sometime last four
>    bytes of 4KB page (== probably last 4 bytes of read request)
>    are not read at all and old contents of page is left here
>    (it happens about once per 20MB read; and in about 1% of
>    these last 8 bytes of page are incorrect).
>    I have no idea whether promise or KT133 is at fault, but
>    it for sure does not happen under Windows...
> 3) During write some corruption can happen on either hde (IBM
>    DTLA-307045 running UDMA5) or hdh - it looks like that
>    data are shifted on HDD, as fsck then complains about
>    imagic set, dtime set while inode not deleted and so on,
>    and then it cleaned inodes 178200-178300 from my hde :-(
>    Fortunately they were mostly in old kernel trees,
>    not in current data (except one inode, which was just
>    created by dpkg)
> 4) So I compiled kernel without IDE DMA support at all and now
>    everything works at PIO4 without any corruption...
> 
>   If anybody has any idea what I should try to get UDMA to
> work under Linux here...
> 
> lspci:
> 
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
> 00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
> 00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
> 00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
> 00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
> 00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
> 00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
> 00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265 (rev 02)
> 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04)
> 
>                                         Thanks,
>                                                 Petr Vandrovec
>                                                 vandrove@vc.cvut.cz


I've got a very similar setup, but i've got a SCSI hard drive as well. 
In copying a rather large file (600+ MB) from my home directory (on the
SCSI drive) to my IDE drive (on the promise controller, ata/100).  scsi
drive is ext2, the ide drive is vfat (basically to share movies and
music w/ windoze).  First try at copying, I got corruption.  Second try,
cp segfaulted.  Looked, and sure enough, had an oops sitting for me in
syslog, so here it is:

ksymoops 2.3.7 on i686 2.4.1-ac2.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.1-ac2/ (default)
     -m /boot/System.map-2.4.1-ac2 (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Feb  3 23:38:01 patience kernel: Unable to handle kernel paging request
at virtual address 81180b00
Feb  3 23:38:01 patience kernel: c0123a60
Feb  3 23:38:01 patience kernel: *pde = 00000000
Feb  3 23:38:01 patience kernel: Oops: 0002
Feb  3 23:38:01 patience kernel: CPU:    0
Feb  3 23:38:01 patience kernel: EIP:   
0010:[__remove_inode_page+48/96]
Feb  3 23:38:01 patience kernel: EFLAGS: 00010202
Feb  3 23:38:01 patience kernel: eax: c102b228   ebx: c1202058   ecx:
00000106   edx: 81180b00
Feb  3 23:38:01 patience kernel: esi: c532a828   edi: c1202058   ebp:
00001532   esp: cc8c5eac
Feb  3 23:38:01 patience kernel: ds: 0018   es: 0018   ss: 0018
Feb  3 23:38:01 patience kernel: Process cp (pid: 483,
stackpage=cc8c5000)
Feb  3 23:38:01 patience kernel: Stack: c1202074 c012a476 c1202058
c0309758 c0309930 00000002 00000000 c012bc18
Feb  3 23:38:01 patience kernel:        c0309758 00000000 c0309938
00000000 00000000 c012bd80 c030992c 00000000
Feb  3 23:38:01 patience kernel:        00000002 00000001 00000000
cc8c5f58 15ece000 00000000 00000005 00000001
Feb  3 23:38:01 patience kernel: Call Trace: [reclaim_page+790/1024]
[__alloc_pages_limit+120/176] [__alloc_pages+304/736]
[generic_file_write+724/1408] [<d2000001>]
[default_fat_file_write+34/80]
Feb  3 23:38:01 patience kernel: Code: 89 02 8b 43 10 8b 53 34 c7 43 08
00 00 00 00 85 c0 74 03 89
Using defaults from ksymoops -t elf32-i386 -a i386

Code;  00000000 Before first symbol
00000000 <_EIP>:
Code;  00000000 Before first symbol
   0:   89 02                     mov    %eax,(%edx)
Code;  00000002 Before first symbol
   2:   8b 43 10                  mov    0x10(%ebx),%eax
Code;  00000005 Before first symbol
   5:   8b 53 34                  mov    0x34(%ebx),%edx
Code;  00000008 Before first symbol
   8:   c7 43 08 00 00 00 00      movl   $0x0,0x8(%ebx)
Code;  0000000f Before first symbol
   f:   85 c0                     test   %eax,%eax
Code;  00000011 Before first symbol
  11:   74 03                     je     16 <_EIP+0x16> 00000016 Before
first symbol
Code;  00000013 Before first symbol
  13:   89 00                     mov    %eax,(%eax)


1 warning issued.  Results may not be reliable.


patience:~# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133]
(rev 02)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 22)
00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 30)
00:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10000
(rev 05)
00:09.1 Input device controller: Creative Labs SB Live! (rev 05)
00:0a.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev
20)
00:0d.0 SCSI storage controller: Adaptec 7892A (rev 02)
00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265
(rev 02)
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP
(rev 05)

relevant parts of dmesg:
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 21
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:04.1
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:pio, hdd:pio
PDC20265: IDE controller on PCI bus 00 dev 88
PCI: Found IRQ 10 for device 00:11.0
PDC20265: chipset revision 2
PDC20265: not 100% native mode: will probe irqs later
PDC20265: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
    ide2: BM-DMA at 0x7800-0x7807, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0x7808-0x780f, BIOS settings: hdg:pio, hdh:pio
hda: KENWOOD CD-ROM UCR-421 V221G, ATAPI CD/DVD-ROM drive
hde: IBM-DTLA-307045, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x9000-0x9007,0x8802 on irq 10
hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63,
UDMA(100)
hda: ATAPI 68X CD-ROM drive, 2048kB Cache, UDMA(33)
<snip>
(scsi0) <Adaptec AIC-7892 Ultra 160/m SCSI host adapter> found at PCI
0/13/0
(scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs
(scsi0) Downloading sequencer code... 392 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.1/5.2.0
       <Adaptec AIC-7892 Ultra 160/m SCSI host adapter>
(scsi0:0:0:0) Synchronous at 160.0 Mbyte/sec, offset 31.
  Vendor: SEAGATE   Model: ST318436LW        Rev: 0005
  Type:   Direct-Access                      ANSI SCSI revision: 03
(scsi0:0:4:0) Synchronous at 10.0 Mbyte/sec, offset 15.
  Vendor: iomega    Model: jaz 1GB           Rev: G.55
  Type:   Direct-Access                      ANSI SCSI revision: 02
(scsi0:0:6:0) Synchronous at 10.0 Mbyte/sec, offset 15.
  Vendor: HP        Model: CD-Writer+ 9200   Rev: 1.0c
  Type:   CD-ROM                             ANSI SCSI revision: 04
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi removable disk sdb at scsi0, channel 0, id 4, lun 0
SCSI device sda: 35885168 512-byte hdwr sectors (18373 MB)
 /dev/scsi/host0/bus0/target0/lun0: p1 p2 p3

If there's anything else, I'll get it for you, but this is all I can
think of. 

Nathan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-02-04  4:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-04  2:52 Promise PDC20265, VIA KT133 and corruption Petr Vandrovec
2001-02-04  4:50 ` Nathan Walp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox