| 6e18ed92 | 04-Feb-2025 | 
            David Wei <dw@davidwei.uk> | 
            net: add helpers for setting a memory provider on an rx queue
  Add helpers that properly prep or remove a memory provider for an rx queue then restart the queue.
  Reviewed-by: Jakub Kicinski <kuba@ke 
                    net: add helpers for setting a memory provider on an rx queue
  Add helpers that properly prep or remove a memory provider for an rx queue then restart the queue.
  Reviewed-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: David Wei <dw@davidwei.uk> Link: https://patch.msgid.link/20250204215622.695511-11-dw@davidwei.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| 56102c01 | 04-Feb-2025 | 
            Pavel Begunkov <asml.silence@gmail.com> | 
            net: page_pool: add memory provider helpers
  Add helpers for memory providers to interact with page pools. net_mp_niov_{set,clear}_page_pool() serve to [dis]associate a net_iov with a page pool. If u 
                    net: page_pool: add memory provider helpers
  Add helpers for memory providers to interact with page pools. net_mp_niov_{set,clear}_page_pool() serve to [dis]associate a net_iov with a page pool. If used, the memory provider is responsible to match "set" calls with "clear" once a net_iov is not going to be used by a page pool anymore, changing a page pool, etc.
  Acked-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: David Wei <dw@davidwei.uk> Link: https://patch.msgid.link/20250204215622.695511-10-dw@davidwei.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| f8350a43 | 04-Feb-2025 | 
            Pavel Begunkov <asml.silence@gmail.com> | 
            net: page_pool: add a mp hook to unregister_netdevice*
  Devmem TCP needs a hook in unregister_netdevice_many_notify() to upkeep the set tracking queues it's bound to, i.e. ->bound_rxqs. Instead of de 
                    net: page_pool: add a mp hook to unregister_netdevice*
  Devmem TCP needs a hook in unregister_netdevice_many_notify() to upkeep the set tracking queues it's bound to, i.e. ->bound_rxqs. Instead of devmem sticking directly out of the genetic path, add a mp function.
  Reviewed-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Mina Almasry <almasrymina@google.com> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: David Wei <dw@davidwei.uk> Link: https://patch.msgid.link/20250204215622.695511-8-dw@davidwei.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| 7dba339f | 11-Dec-2024 | 
            Mina Almasry <almasrymina@google.com> | 
            page_pool: disable sync for cpu for dmabuf memory provider
  dmabuf dma-addresses should not be dma_sync'd for CPU/device. Typically its the driver responsibility to dma_sync for CPU, but the driver s 
                    page_pool: disable sync for cpu for dmabuf memory provider
  dmabuf dma-addresses should not be dma_sync'd for CPU/device. Typically its the driver responsibility to dma_sync for CPU, but the driver should not dma_sync for CPU if the netmem is actually coming from a dmabuf memory provider.
  The page_pool already exposes a helper for dma_sync_for_cpu: page_pool_dma_sync_for_cpu. Upgrade this existing helper to handle netmem, and have it skip dma_sync if the memory is from a dmabuf memory provider. Drivers should migrate to using this helper when adding support for netmem.
  Also minimize the impact on the dma syncing performance for pages. Special case the dma-sync path for pages to not go through the overhead checks for dma-syncing and conversion to netmem.
  Cc: Alexander Lobakin <aleksander.lobakin@intel.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Signed-off-by: Mina Almasry <almasrymina@google.com> Link: https://patch.msgid.link/20241211212033.1684197-5-almasrymina@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| 8156c310 | 11-Dec-2024 | 
            Mina Almasry <almasrymina@google.com> | 
            net: page_pool: create page_pool_alloc_netmem
  Create page_pool_alloc_netmem to be the mirror of page_pool_alloc.
  This enables drivers that want currently use page_pool_alloc to transition to netmem 
                    net: page_pool: create page_pool_alloc_netmem
  Create page_pool_alloc_netmem to be the mirror of page_pool_alloc.
  This enables drivers that want currently use page_pool_alloc to transition to netmem by converting the call sites to page_pool_alloc_netmem.
  Signed-off-by: Mina Almasry <almasrymina@google.com> Acked-by: Stanislav Fomichev <sdf@fomichev.me> Link: https://patch.msgid.link/20241211212033.1684197-3-almasrymina@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| 91a152cb | 11-Dec-2024 | 
            Mina Almasry <almasrymina@google.com> | 
            net: page_pool: rename page_pool_alloc_netmem to *_netmems
  page_pool_alloc_netmem (without an s) was the mirror of page_pool_alloc_pages (with an s), which was confusing.
  Rename to page_pool_alloc_ 
                    net: page_pool: rename page_pool_alloc_netmem to *_netmems
  page_pool_alloc_netmem (without an s) was the mirror of page_pool_alloc_pages (with an s), which was confusing.
  Rename to page_pool_alloc_netmems so it's the mirror of page_pool_alloc_pages.
  Signed-off-by: Mina Almasry <almasrymina@google.com> Acked-by: Stanislav Fomichev <sdf@fomichev.me> Link: https://patch.msgid.link/20241211212033.1684197-2-almasrymina@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     | 
        
| 0f921404 | 10-Sep-2024 | 
            Mina Almasry <almasrymina@google.com> | 
            memory-provider: dmabuf devmem memory provider
  Implement a memory provider that allocates dmabuf devmem in the form of net_iov.
  The provider receives a reference to the struct netdev_dmabuf_binding 
                    memory-provider: dmabuf devmem memory provider
  Implement a memory provider that allocates dmabuf devmem in the form of net_iov.
  The provider receives a reference to the struct netdev_dmabuf_binding via the pool->mp_priv pointer. The driver needs to set this pointer for the provider in the net_iov.
  The provider obtains a reference on the netdev_dmabuf_binding which guarantees the binding and the underlying mapping remains alive until the provider is destroyed.
  Usage of PP_FLAG_DMA_MAP is required for this memory provide such that the page_pool can provide the driver with the dma-addrs of the devmem.
  Support for PP_FLAG_DMA_SYNC_DEV is omitted for simplicity & p.order != 0.
  Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Kaiyuan Zhang <kaiyuanz@google.com> Signed-off-by: Mina Almasry <almasrymina@google.com> Reviewed-by: Pavel Begunkov <asml.silence@gmail.com> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Link: https://patch.msgid.link/20240910171458.219195-7-almasrymina@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> 
                    show more ...  
                     |