On Fri, Dec 8, 2023 at 9:57 AM David Ahern dsahern@kernel.org wrote:
On 12/7/23 5:52 PM, Mina Almasry wrote:
Major changes in v1:
Implemented MVP queue API ndos to remove the userspace-visible driver reset.
Fixed issues in the napi_pp_put_page() devmem frag unref path.
Removed RFC tag.
Many smaller addressed comments across all the patches (patches have individual change log).
Full tree including the rest of the GVE driver changes: https://github.com/mina/linux/commits/tcpdevmem-v1
Still a lot of DEVMEM references (e.g., socket API). Any reason not to move those to DMABUF?
In my mind the naming (maybe too silly/complicated, feel free to correct) is:
The feature is devmem TCP because we really care about TCPing into device memory. So the uapi/feature name retains devmem.
dmabuf is the abstraction for devmem that we use. In theory someone can come up with a driver that doesn't like dmabuf and uses something else instead, and the devmem TCP support can be extended to support that something else. Functions that handle specifically dmabuf and are not generic to support general devmem are named accordingly (netdev_alloc_dmabuf/netdev_free_dmabuf)
page_pool_iov is a generic type to support generic non-paged memory, functions that are supposed to handle any generic non-paged memory and named accordingly (page_pool_iov_get_many).