[haiku-bugs] Re: [Haiku] #15569: usb_disk stalls & unmounts when large I/O transfers are not queued (was: System freeze when attempting to execute large binary not loaded to disk cache)

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Thu, 12 Mar 2020 18:08:00 -0000

#15569: usb_disk stalls & unmounts when large I/O transfers are not queued
--------------------------------+----------------------------
   Reporter:  X512              |      Owner:  nobody
       Type:  bug               |     Status:  new
   Priority:  normal            |  Milestone:  Unscheduled
  Component:  Drivers/Disk/USB  |    Version:  R1/Development
 Resolution:                    |   Keywords:
 Blocked By:                    |   Blocking:
Has a Patch:  0                 |   Platform:  All
--------------------------------+----------------------------
Changes (by waddlesplash):

 * component:  System/Kernel => Drivers/Disk/USB
 * summary:
     System freeze when attempting to execute large binary not loaded to
     disk cache
     => usb_disk stalls & unmounts when large I/O transfers are not queued

Comment:

 As I noted in the comment above, there are 3 problems occurring here:

  1) USB stack cannot run transfers > ~12MB in size, as it fails to
 allocate physical memory (not really a "bug", there is an upper limit on
 the USB stack physical buffer pool, and IIRC this is actually ~12-16MB of
 individual pages; i.e. if the driver requested memory in larger chunks it
 might work.)

  2) usb_disk stalls when the USB stack fails to queue a transfer (that is
 too large). I'm not really sure why this is.

  3) usb_disk does not segment I/O.

 Realistically, we should solve both (2) and (3).
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15569#comment:8>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts:

  • » [haiku-bugs] Re: [Haiku] #15569: usb_disk stalls & unmounts when large I/O transfers are not queued (was: System freeze when attempting to execute large binary not loaded to disk cache) - Haiku