Re: [RFC PATCH v3 05/12] netdev: netdevice devmem allocator

From: Yunsheng Lin
Date: Tue Nov 07 2023 - 02:45:31 EST


On 2023/11/6 10:44, Mina Almasry wrote:
> +
> +void netdev_free_devmem(struct page_pool_iov *ppiov)
> +{
> + struct netdev_dmabuf_binding *binding = page_pool_iov_binding(ppiov);
> +
> + refcount_set(&ppiov->refcount, 1);
> +
> + if (gen_pool_has_addr(binding->chunk_pool,
> + page_pool_iov_dma_addr(ppiov), PAGE_SIZE))

When gen_pool_has_addr() returns false, does it mean something has gone
really wrong here?

> + gen_pool_free(binding->chunk_pool,
> + page_pool_iov_dma_addr(ppiov), PAGE_SIZE);
> +
> + netdev_devmem_binding_put(binding);
> +}
> +
> void netdev_unbind_dmabuf(struct netdev_dmabuf_binding *binding)
> {
> struct netdev_rx_queue *rxq;
>