Page MenuHomeFreeBSD

ixl: remove unnecessary limitations related to netmap
ClosedPublic

Authored by vmaffione on Jan 26 2019, 6:14 PM.

Details

Summary

This patch is for stable/11.
Netmap supports the case where TX rings and RX rings have different size.
Remove unnecessary limitations related to netmap support, making the code simpler.
Also, check that the value of the hw head index written back from the NIC is valid.

It looks like the value read is invalid for some reason... see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230465

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

vmaffione created this revision.Jan 26 2019, 6:14 PM
vmaffione retitled this revision from ixl: clean up to ixl: remove unnecessary limitations related to netmap.Jan 26 2019, 6:18 PM
vmaffione edited the summary of this revision. (Show Details)
vmaffione edited the summary of this revision. (Show Details)Jan 26 2019, 6:29 PM
vmaffione updated this revision to Diff 53257.

Sanitize the value of the hw head index read at the end of the TX ring.

vmaffione added a subscriber: gnn.Jan 26 2019, 6:33 PM

This limitation came from our out-of-tree driver, where we had to keep backwards compatibility, but there is no reason to keep it in the in-kernel version. Thanks Vincenzo for the patch. It looks good to me but let's wait for Eric to have a look too.

No problems!
Actually some people is experiencing problems when using netmap on ixl (see related PR), so I would like to understand what is going on...

erj accepted this revision.Jan 29 2019, 5:52 PM

Having an invalid value for the head writeback value is problematic...I'll check out the PR.

This revision is now accepted and ready to land.Jan 29 2019, 5:52 PM

Thanks!
It looks like reading the the HEAD of the first TX ring works, while the other TX rings don't...

This revision was automatically updated to reflect the committed changes.