[Devel] [PATCH hci-8.1 0/3] fs/fuse kio: cut per-4k-page sendmsg/recvmsg calls in the sockio path

Liu Kui kui.liu at virtuozzo.com
Wed Sep 30 10:34:30 MSK 2026


The sockio transport submits one 4k segment per sock_sendmsg() /
kernel_recvmsg() call, so a 1M chunk costs up to 256 socket calls
each way. Rework both paths to hand the whole iov_iter to the socket
in one call, and teach pcs_umem to keep hugepage-backed mappings as
single 2M chunks so the bvec builder stops splitting them into 4k
bio_vecs.

https://virtuozzo.atlassian.net/browse/VSTOR-142166
https://virtuozzo.atlassian.net/browse/VSTOR-142167

---
Liu Kui (3):
      fs/fuse kio: teach pcs_umem about hugepage-backed mappings
      fs/fuse kio: refactor transmit path in pcs_sockio_send()
      fs/fuse kio: refactor receive path in pcs_sockio_recv()

 fs/fuse/kio/pcs/pcs_krpc.c    |   9 +-
 fs/fuse/kio/pcs/pcs_mr.c      |  84 ++++++++++---
 fs/fuse/kio/pcs/pcs_mr.h      |  45 ++++++-
 fs/fuse/kio/pcs/pcs_sock_io.c | 287 +++++++++++++++++++-----------------------
 fs/fuse/kio/pcs/pcs_sock_io.h |   1 +
 5 files changed, 245 insertions(+), 181 deletions(-)
---
base-commit: ca54f152160587a74ff17cb52feef16f7b9d4e2b
change-id: 20260930-sockio-refactor-8-1-602d908e153c

Best regards,
--  
Liu Kui <kui.liu at virtuozzo.com>



More information about the Devel mailing list