Open mkroening opened 9 months ago
I think we can close this issue since using a trait and trait objects worked out for SplitVq
and PackedVq
s.
I think we can close this issue since using a trait and trait objects worked out for
SplitVq
andPackedVq
s.
This issue is about potential performance improvements, not about whether we need it to work at all. I have reworked the description.
This issue might be interesting for @CarlWachter, who will be working on benchmarking.
CC: @jounathaen
Before
02860f2
, there was an enum for abstracting over split and packed virtqueues:Currently, we are using a trait via
Rc<dyn Virtq>
instead ofRc<Virtq>
.We need to consider automating the previous enum-based static dispatch via
enum_dispatch
for performance. This would be a nice fit because restricting the set of implementors is no problem for us.This might not have a too much of an impact, depending on how hot these dynamic dispatches are right now.