[dpdk-dev] virtio with 2MB hugepages - bringing back single file segments

Maxime Coquelin maxime.coquelin at redhat.com
Fri Mar 2 08:33:33 CET 2018



On 03/01/2018 11:40 PM, Stojaczyk, DariuszX wrote:
> 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" [1]?

If you do something like this, you'll have first to update the
vhost-user spec, which should I think include a new protocol
feature bit.

Also, you will have to consider improving the translation functions
with a better search algorithm, else you'll have very poor performance.

> 
> Could I send a patch series that does this? The single file segments code would go through a cleanup - at least making it available via a runtime option rather than #ifdefs.
> 
> I know there's an ongoing rework of the memory allocator in DPDK [2] and it includes a similar single file segments functionality. However, it will probably take quite some time before merged and even then, the new functionality would only be available in the *new* allocator. The old one is kept unchanged. It could use single file segments as well.
> 
> Regards,
> D.
> 
> [1] http://dpdk.org/dev/patchwork/patch/16042/
> [2] http://dpdk.org/ml/archives/dev/2017-December/084302.html
> 


More information about the dev mailing list