Mostly some maintainence patches. I'm happy to take feedback.

Patch 2 is useful for the mtp function, since it uses endpoint size to
figure out when to read/write a zero length packet. It would be nice to
get these values at the start of a connection and cache them for the 
duration, although it's not a must-have.


I'd also like some direction on another patch I'm planning:

Android has migrated to using f_fs for the mtp function, but in the
process we ran into some performance hiccups in comparison to f_mtp.

Allocating memory at boot allowed f_mtp the use of very large buffers,
around 250kB. Compared to using a 16 or 32 kB buffer, the larger buffer
is faster by around 50%. Functionfs can't use io sizes that large due
to memory fragmentation. One option here would be to add O_DIRECT
support. Then on each io, we could get_user_pages, vmap them together,
and pass that address into ep_queue. This would would allow any size
to be used and eliminates a copy, but would be rather involved. Does
this sound like something that people want or find acceptable? If
there's a better option, I'd be willing to help with that as well.

Jerry Zhang (3):
  usb: gadget: function: f_fs: Fix doc for FUNCTIONFS_INTERFACE_REVMAP
  usb: gadget: function: f_fs: Let ffs_epfile_ioctl wait for enable.
  usb: gadget: function: f_fs: Move epfile waitqueue to ffs_data.

 drivers/usb/gadget/function/f_fs.c  | 103 ++++++++++++++++++++----------------
 drivers/usb/gadget/function/u_fs.h  |   3 ++
 include/uapi/linux/usb/functionfs.h |   8 ++-
 3 files changed, 62 insertions(+), 52 deletions(-)

-- 
2.12.2.816.g2cccc81164-goog

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to