> > Hi,
> > I'm trying to make a vhost-user initiator built upon DPDK work with
> > 2MB hugepages. In the initiator we have to share all memory with the host
> process, so it can perform DMA. DPDK currently enforces having one descriptor
> per hugepage and there's an artificial limit of shared descriptors in DPDK
> vhost-user implementation (currently 8). Because of that, all DPDK vhost-user
> initiators are practically limited to 1GB hugepages at the moment. We can
> always increase the artificial descriptor limit, but then we're limited by
> sendmsg() itself, which on Linux accepts no more than 253 descriptors.
> However, could we increase the vhost-user implementation limit to - say - 128,
> and bring back "single file segments" ?
> If you do something like this, you'll have first to update the vhost-user
> which should I think include a new protocol feature bit.
Do I? I can't see any memory region limitation in the vhost-user spec . If a
128-region initiator tries to connect to an 8-region rte_vhost, the recvmsg()
would simply fail - rte_vhost rejects `truncated` messages.
> Also, you will have to consider improving the translation functions with a
> search algorithm, else you'll have very poor performance.
That's right, I got that sorted out already.