cloudkernels / virtio-accel

2 stars 0 forks source link

Guest memory limitation #4

Open cmainas opened 3 years ago

cmainas commented 3 years ago

In the current state of vaccel, there is a limitation on how much data we can process each time because of the use of kmalloc. We need to explore any other possible alternatives and examine the trade off of the current implementation.

papazof commented 3 years ago

VirtIO (spec) requires buffer elements placed inside virtqueues to be physically contiguous. AFAIK, there are no functions to allocate big chunks of physically contiguous memory using the common linux memory allocators. As result, the obvious solution to this problem would be to implement an alternative solution similar to virtio-crypto/cryptodev by adding buffers as (scattered) pages in the ring.

Going to implement a page-based alternative and compare its performance to our current design using a recent kernel version.

Related Issue: cloudkernels/virtio-accel#2