[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1285595149.2263.8.camel@achroite.uk.solarflarecom.com>
Date: Mon, 27 Sep 2010 14:45:49 +0100
From: Ben Hutchings <bhutchings@...arflare.com>
To: xiaohui.xin@...el.com
Cc: netdev@...r.kernel.org, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, mingo@...e.hu, davem@...emloft.net,
herbert@...dor.hengli.com.au, jdike@...ux.intel.com
Subject: Re: [PATCH v11 04/17]Add a function make external buffer owner to
query capability.
On Sat, 2010-09-25 at 12:27 +0800, xiaohui.xin@...el.com wrote:
[...]
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 264137f..636f11b 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -2468,6 +2468,55 @@ void netif_nit_deliver(struct sk_buff *skb)
> rcu_read_unlock();
> }
>
> +/* To support meidate passthru(zero-copy) with NIC driver,
> + * we'd better query NIC driver for the capability it can
> + * provide, especially for packet split mode, now we only
> + * query for the header size, and the payload a descriptor
> + * may carry. If a driver does not use the API to export,
> + * then we may try to use a default value, currently,
> + * we use the default value from an IGB driver. Now,
> + * it's only called by mpassthru device.
> + */
> +#if defined(CONFIG_MEDIATE_PASSTHRU) || defined(CONFIG_MEDIATE_PASSTHRU_MODULE)
> +int netdev_mp_port_prep(struct net_device *dev,
> + struct mpassthru_port *port)
> +{
> + int rc;
> + int npages, data_len;
> + const struct net_device_ops *ops = dev->netdev_ops;
> +
> + if (ops->ndo_mp_port_prep) {
> + rc = ops->ndo_mp_port_prep(dev, port);
> + if (rc)
> + return rc;
> + } else {
> + /* If the NIC driver did not report this,
> + * then we try to use default value.
> + */
> + port->hdr_len = 128;
> + port->data_len = 2048;
> + port->npages = 1;
> + }
[...]
Is it really necessary to have a default?
Also have you considered an API for changing the header/data split?
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists