From abc472e4e71df3df0fa3696042eb5abb63906d9f Mon Sep 17 00:00:00 2001 From: zhaohonghao Date: Thu, 21 Nov 2024 19:55:48 +0800 Subject: [PATCH] mcs: speed up writing and reading of large files Speed up writing and reading of large files by increase rpmsg buffer size Signed-off-by: zhaohonghao --- library/rpmsg_device/rpmsg_vdev.c | 15 ++++++++++++--- mica/micad/services/rpc/rpc_internal_model.h | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/library/rpmsg_device/rpmsg_vdev.c b/library/rpmsg_device/rpmsg_vdev.c index ed56765..cbe9c33 100644 --- a/library/rpmsg_device/rpmsg_vdev.c +++ b/library/rpmsg_device/rpmsg_vdev.c @@ -21,6 +21,15 @@ #define ALIGN_UP(x, align_to) (((x) + ((align_to)-1)) & ~((align_to)-1)) #endif +#define RPMSG_CONSOLE_BUFFER_SIZE 2048 + +#define RPMSG_VIRTIO_CONSOLE_CONFIG \ + (&(const struct rpmsg_virtio_config) { \ + .h2r_buf_size = RPMSG_CONSOLE_BUFFER_SIZE, \ + .r2h_buf_size = RPMSG_CONSOLE_BUFFER_SIZE, \ + .split_shpool = false,\ +}) + static int setup_vdev(struct mica_client *client) { struct remoteproc *rproc; @@ -83,7 +92,7 @@ static int setup_vdev(struct mica_client *client) */ if (!vring_rsc) return -ENODEV; - bufsz = 512 * vring_rsc->num * 2; + bufsz = RPMSG_CONSOLE_BUFFER_SIZE * vring_rsc->num * 2; buf = alloc_shmem_region(client, 0, bufsz); if (!buf) return -ENOMEM; @@ -126,9 +135,9 @@ int create_rpmsg_device(struct mica_client *client) goto err1; } - ret = rpmsg_init_vdev(rpmsg_vdev, vdev, mica_ns_bind_cb, + ret = rpmsg_init_vdev_with_config(rpmsg_vdev, vdev, mica_ns_bind_cb, client->shbuf_io, - &client->vdev_shpool); + &client->vdev_shpool, RPMSG_VIRTIO_CONSOLE_CONFIG); if (ret) { syslog(LOG_ERR, "init rpmsg device failed, err: %d\n", ret); goto err2; diff --git a/mica/micad/services/rpc/rpc_internal_model.h b/mica/micad/services/rpc/rpc_internal_model.h index 7d02a0b..fa1c6a8 100644 --- a/mica/micad/services/rpc/rpc_internal_model.h +++ b/mica/micad/services/rpc/rpc_internal_model.h @@ -105,7 +105,7 @@ #define MIN_ID OPEN_ID #define MAX_ID LSEEK_ID -#define MAX_SBUF_LEN 432 /* max socket buf len*/ +#define MAX_SBUF_LEN 1968 /* max socket buf len*/ #define MAX_CBUF_LEN 416 #define MAX_SADDR_SIZE 8 #define MAX_STRING_LEN MAX_SBUF_LEN -- Gitee