Re: [PATCH v1 06/15] io_uring: Provide driver API for zctap packet buffers.

Jonathan Lemon
2022-11-17T21:09:50Z

On 16 Nov 2022, at 0:17, Christoph Hellwig wrote:

> On Mon, Nov 07, 2022 at 09:05:12PM -0800, Jonathan Lemon wrote:
>> +struct io_zctap_buf *io_zctap_get_buf(struct io_zctap_ifq *ifq, int refc)
>> +{
>> + return NULL;
>> +}
>> +EXPORT_SYMBOL(io_zctap_get_buf);
>> +
>> +void io_zctap_put_buf(struct io_zctap_ifq *ifq, struct io_zctap_buf *buf)
>> +{
>> +}
>> +EXPORT_SYMBOL(io_zctap_put_buf);
>
> Adding stubs without anything in them is rather pointless.

This patch just introduces the API, for easier reviewing (and handling
some patch dependencies). Patch 8 adds the initial implementation.

> Also why are these exported? I can't find any modular users anywhere.
> Even if so, any low-level uring zero copy functionality should be
> EXPORT_SYMBOL_GPL, and only added once the modular users show up and
> are discussed.

I just copied EXPORT_SYMBOL from io_uring.c, and have no preference
as to which export variant is used.

I was testing against several drivers, which were loadable modules for
ease of development. For example, Broadcom’s in-tree bnxt driver does not
(currently) have steering support, so testing was against their external
driver package while waiting for the features to land upstream.
--
Jonathan