This is mostly a heads up....

We (WEKA) use various drivers with specific alignment requirements, which 
causes us to need to need to use multibuffer (scatter/gather) functionality in 
various drivers.

Unfortunately, the GVNIC driver was ... very... buggy in this regard (in fact 
it doesn't work at all in this case!), especially for the DQO mode used on gen 
3 (C3) instances.  It turns out it was also buggy in that it was not properly 
resetting the device on teardown, creating a situation where DMA could be 
occurring to memory regions after process exit (and thus to invalid memory!)

I've fixed this in our code (its still under review and testing internally) -- 
but I'd like to upstream these fixes too.  (For benefit of anyone who may have 
concerns about my "credentials" -- I'm well known for my work in NIC drivers 
(and many others) in Solaris/illumos, and to a lesser extent (and longer ago) 
NetBSD.

Anyway, I think I have the detailed instructions for submitting changes to 
DPDK, but as this is code that is associated with a vendor (Google), I thought 
I'd reach out first -- if there is a specific code owner here I'd be happy to 
work with them.

My changes are based on a cherry pick of this driver's code from the upstream 
24.07, but mostly we (WEKA) are using DPDK 24.03.

Thanks in advance.

Reply via email to