linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/7] ublk: cleanup and support user copy
@ 2023-04-27 12:44 Ming Lei
  2023-04-27 12:44 ` [PATCH V2 1/7] ublk: kill queuing request by task_work_add Ming Lei
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Ming Lei @ 2023-04-27 12:44 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block, ZiyangZhang, Harris James R, Ming Lei

Hello,

The 1st 3 patch are cleanup.

The other patches support to move data copy between io request pages and
userspace buffer into ublk server(userspace). This way avoids one round trip
of uring command(UBLK_F_NEED_GET_DATA), and solve buffer release issue for
READ[1]. Meantime both sides becomes cleaner. Also it can be thought as
prep patch for supporting zero copy.

ublksrv loop usercopy code:

	https://github.com/ming1/ubdsrv/commits/usercopy

[1] https://lore.kernel.org/linux-block/116d8a56-0881-56d3-9bcc-78ff3e1dc4e5@linux.alibaba.com/T/#m23bd4b8634c0a054e6797063167b469949a247bb


V2:
	- rebase on latest linus tree


Ming Lei (7):
  ublk: kill queuing request by task_work_add
  ublk: cleanup io cmd code path by adding ublk_fill_io()
  ublk: cleanup ublk_copy_user_pages
  ublk: grab request reference when the request is handled by userspace
  ublk: support to copy any part of request pages
  ublk: add read()/write() support for ublk char device
  ublk: support user copy

 drivers/block/ublk_drv.c      | 458 +++++++++++++++++++++++++---------
 include/uapi/linux/ublk_cmd.h |  25 +-
 2 files changed, 361 insertions(+), 122 deletions(-)

-- 
2.40.0


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

end of thread, other threads:[~2023-04-27 12:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-27 12:44 [PATCH V2 0/7] ublk: cleanup and support user copy Ming Lei
2023-04-27 12:44 ` [PATCH V2 1/7] ublk: kill queuing request by task_work_add Ming Lei
2023-04-27 12:44 ` [PATCH V2 2/7] ublk: cleanup io cmd code path by adding ublk_fill_io() Ming Lei
2023-04-27 12:44 ` [PATCH V2 3/7] ublk: cleanup ublk_copy_user_pages Ming Lei
2023-04-27 12:44 ` [PATCH V2 4/7] ublk: grab request reference when the request is handled by userspace Ming Lei
2023-04-27 12:44 ` [PATCH V2 5/7] ublk: support to copy any part of request pages Ming Lei
2023-04-27 12:44 ` [PATCH V2 6/7] ublk: add read()/write() support for ublk char device Ming Lei
2023-04-27 12:44 ` [PATCH V2 7/7] ublk: support user copy Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).