On Fri, 15 Nov 2019 at 09:30, Hui Wang <hui.w...@canonical.com> wrote:
>
> I did test with VMSPLIT_2G today, the mmc/sd controller will not work
> anymore on rpi4 boards, so enable VMSPLIT_2G is not a solution so far.

Oh well, was worth a try.

> And today I also tested dwc2, it worked well, maybe we could enable dwc2
> instead of dwc_otg, then we could use a single kernel to support
> rpi2/3/4. dwc2 worked well both with VMSPLIT_2G and VMSPLIT_3G.

Interesting; I noted upstream talking about the optimization of
dwc_otg (I'm guessing, from a quick skim of each, that's mostly from
the FIQ FSM stuff in dwc_otg which dwc2 seems to lack); we should
probably benchmark the performance differences between dwc_otg and
dwc2, both USB transfer speeds, and load on the ARM during transfers
(my hunch is, if anything is affected, it'll be the latter - I vaguely
recall forum posts about improvements on the ARM load during large USB
transactions).

> I am building a formal armhf and arm64 kernel with dwc2 enabled, will
> test all kernels on all boards. And I will share the kernels to the lp,
> anyone could help test them.

Given arm64 isn't affected, would it be worth sticking with dwc_otg on
that arch? Or is the inconsistency (e.g. different capabilities?) an
issue in and of itself?

I'm more than happy to test out some kernels when they're available!

Thanks,

Dave.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-raspi2 in Ubuntu.
https://bugs.launchpad.net/bugs/1852510

Title:
  IO errors when writing large amounts of data to USB storage in eoan on
  RPI

Status in linux-raspi2 package in Ubuntu:
  New
Status in linux-raspi2 source package in Eoan:
  In Progress

Bug description:
  Kernel tested:
  Linux ubuntu 5.3.0-1012-raspi2 #14-Ubuntu SMP Mon Nov 11 10:08:39 UTC 2019 
armv7l armv7l armv7l GNU/Linux

  I've only been able to reproduce this with the armhf kernel and on the 
following devices:
  RPI3B+
  RPI3B
  RPI2

  At the moment, it does not appear that arm64 is affected, nor are
  RPI3A+ and RPI4 (at least not the 2GB version)

  Steps to reproduce:
  - Insert and mount a USB storage device
  - cp a large file to it (300-600MB recommended - smaller files will sometimes 
not trigger it)
  - sync

  After running the sync, a lot of IO errors will show up in dmesg like:
  [  176.129299] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR 
driverbyte=DRIVER_OK
  [  176.129326] sd 0:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 00 2e 24 b0 00 00 
f0 00
  [  176.129349] blk_update_request: I/O error, dev sda, sector 3024048 op 
0x1:(WRITE) flags 0x4000 phys_seg 15 prio class 0
  [  176.883968] usb 1-1.1.2: reset high-speed USB device number 8 using dwc_otg
  [  177.079960] usb 1-1.1.2: reset high-speed USB device number 8 using dwc_otg

  It eventually finishes, and if you unmount/remount the device, the
  checksum will be different from the original file.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1852510/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to