Re: [PATCH v8 0/5] Enhance RPMsg buffer management
From: Shah, Tanmay
Date: Thu Sep 03 2026 - 11:40:57 EST
On 9/1/2026 8:03 AM, Arnaud POULIQUEN wrote:
>
>
> On 8/28/26 16:58, Tanmay Shah wrote:
>> Current design uses fixed (512 bytes) rpmsg buffer size in both rx and
>> tx directions. This design is not suitable if the payload is larger than
>> 512 bytes or the payload is very small and doesn't need that much
>> memory. Instead introduce new virtio feature to retrieve rpmsg tx buf
>> size and rx buf size from the virtio config space in the resource table.
>
> This version seems good to me, with or without my suggestion in patch 4/5
>
> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx>
>
> Thanks!
>
> Arnaud
>
Thank You Arnaud.
If I end up spinning another revision with any more comments, then I
will address suggestion in the patch 4/5 as well. If I get Mathieu's RB
for this series, then we can merge this series as it is.
Tanmay
>>
>> Changes in v8:
>> - fix commit message of 3/5, "%s/enable/Enabled"
>> - introduce new function to get buffer size for the vdev device
>> - fix description of VIRTIO_RPMSG_F_BUFSZ define
>> - "%s/or differnt RX and TX sizes)/or different RX and TX queue
>> sizes)/"
>>
>> Changes in v7:
>> - Fix 5/5 commit text, and move change log out of commit text
>>
>> Changes in v6:
>> - remove buffer alignment from config space
>> - rpmsg.rst: modify alignment related documentation
>>
>> Changes in v5:
>> - fix documentation about alignment of the buffer size
>> - change version field from u16 to u8
>> - remove buffer alignment check
>> - Separate buffer alignment vs MTU of a single buffer
>> - Use buffer alignment only to get next buffer address at alignment
>> boundary
>>
>> Changes in v4:
>> - Introduce new patch to modify rpmsg.rst documentation
>> - check version is always 1.
>> - check size field is same as size of struct virtio_rpmsg_config
>> - introduce alignment field
>> - check alignment field is power of 2
>> - check tx and rx buf size is aligned with alignment passed in the
>> structure
>> - check msg size is < MTU size
>>
>> Changes in v3:
>> - new patch [1/4] that renames variables with clear names.
>> - %s/rbufs/rx_bufs/
>> - %s/sbufs/tx_bufs/
>> - %s/last_sbuf/last_tx_buf/
>> - add num_rx_buf and num_tx_buf in the documentation
>> - change version field from u16 to u8
>> - introduce size field in the rpmsg_virtio_config structure
>> - check version field is set to any non-zero value.
>> - check size field is not 0.
>> - Remove field for private config, as not needed for now.
>> - add documentation of rpmsg_virtio_config structure
>> - Check for error when retrieving MTU size in the sample driver
>> - %s/mtu/MTU/
>>
>> Changes in v2:
>> - Change author
>> - fix commit message with better explanation
>> - %s/sbuf/tx_buf
>> - %s/rbuf/rx_buf
>> - %s/num_rbuf/num_rx_buf/
>> - %s/num_sbuf/num_tx_buf/
>> - %s/sbuf_size/tx_buf_size/
>> - %s/rbuf_size/rx_buf_size/
>> - fix typo
>> - do not use ALIGN on buf size, rely on allocator
>> - make err msg more explicit, %s/vdev config:/bad vdev config/
>> - fix license and add AMD copyrights in the header virtio_rpmsg.h
>> - Assign bit 1 to VIRTIO_RPMSG_F_BUFSZ feature
>> - use __virtio32 over __u32
>> - add version field to virtio rpmsg config structure
>> - Introduce new patch to print rpmsg mtu size in the sample rpmsg
>> driver
>> - move linux/virtio_rpmsg.h to linux/rpmsg/virtio_rpmsg.h
>>
>>
>> Tanmay Shah (5):
>> rpmsg: virtio_rpmsg_bus: rename rbufs and sbufs
>> rpmsg: virtio_rpmsg_bus: allow different size of tx and rx bufs
>> rpmsg: virtio_rpmsg_bus: get buffer size from config space
>> docs: rpmsg: add virtio config space details
>> samples: rpmsg: add MTU size info
>>
>> Documentation/staging/rpmsg.rst | 17 +++
>> drivers/rpmsg/virtio_rpmsg_bus.c | 156 +++++++++++++++++++---------
>> include/linux/rpmsg/virtio_rpmsg.h | 41 ++++++++
>> samples/rpmsg/rpmsg_client_sample.c | 20 +++-
>> 4 files changed, 186 insertions(+), 48 deletions(-)
>> create mode 100644 include/linux/rpmsg/virtio_rpmsg.h
>>
>>
>> base-commit: d4d61a4b0a52e8f3cdb3e1578602850a3452ec3e
>