Re: Low umass performance with USB 2.0 ports

From: João Carlos Mendes Luís (jonny_at_jonny.eng.br)
Date: 08/30/05

  • Next message: Daniel Valencia: "strange behaviour with pthread_cond_wait()"
    Date: Tue, 30 Aug 2005 18:12:46 -0300
    To: "Eygene A. Ryabinkin" <freebsd@rea.mbslab.kiae.ru>
    
    

    Eygene A. Ryabinkin wrote:
    > Good day.
    > I am observing very low umass performance: when I am trying to move a large
    > file from/to my USB 2.0 flash that is plugged into the USB 2.0 port: transfer
    > starts fine at 3.5 Mb/sec, but after some 20 Mbytes it hangs and the process
    > (dd) stay in the wdrain state. The activity LED on the flash shows no activity.
    > Operations do continue, but very slow and the most time of the copying process
    > spends in the wdrain state. All attempts to invoke `sync` or to see the
    > file state via `ls` are hanging until `dd` leaves the wdrain state.
    > It does not matter what flash is used: I tried Apacer and the Kingmax ones --
    > the result is the same.
    > If I plug the flash into the USB 1.1 port and trying to move some data -- it
    > works fine, no hangs. Speed is 500 Kb/sec.
    > Seems like others do have this problem:
    > http://lists.freebsd.org/pipermail/freebsd-usb/2005-May/001052.html
    > USB 2.0 controller is Promise PCI (NEC chipset), USB 1.1 chipset is onboard
    > VIA.
    > My dmesg output is:
    ...
    > umass0: Phase Error, residue = 0
    > (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
    > umass0: Phase Error, residue = 0
    > (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
    > umass0: Phase Error, residue = 0
    > (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
    > umass0: Phase Error, residue = 0
    > (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
    > Mounting root from ufs:/dev/ad0s1a
    > em0: Link is up 100 Mbps Full Duplex
    > info: [drm] Loading R200 Microcode

         I had exactly this problem with Kingston Data Traveler II+, and
    apparently completely solved it by adding a kludge to disallow Cache
    Syncronization. Try it yourself.
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: Daniel Valencia: "strange behaviour with pthread_cond_wait()"