[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1313538196.2725.74.camel@bwh-desktop>
Date: Wed, 17 Aug 2011 00:43:16 +0100
From: Ben Hutchings <bhutchings@...arflare.com>
To: Rasesh Mody <rmody@...cade.com>
Cc: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Adapter Linux Open SRC Team
<adapter_linux_open_src_team@...cade.COM>,
Gurunatha Karaje <gkaraje@...cade.com>
Subject: RE: [PATCH 04/14] bna: Add Multiple Tx Queue Support
On Tue, 2011-08-16 at 16:32 -0700, Rasesh Mody wrote:
> >From: Ben Hutchings [mailto:bhutchings@...arflare.com]
> >Sent: Tuesday, August 16, 2011 2:49 PM
> >
> >On Tue, 2011-08-16 at 14:19 -0700, Rasesh Mody wrote:
> >> Change details:
> >> - Add macros bna_prio_allow, bna_default_nw_prio, bna_iscsi_prio,
> >> bna_is_iscsi_over_cee
> >> - Added support for multipe Tx queues with a separate iSCSI Tx queue
> >based
> >> on the default value of iSCSI port number. The feature is supported
> >based
> >> on the underlying hardware and enabled for DCB (CEE) mode only.
> >> - Allocate multiple TxQ resource in netdev
> >> - Implement bnad_tx_select_queue() which enables the correct
> >selection of
> >> TxQ Id (and tcb). This function is called either by the kernel to
> >channel
> >> packets to the right TxQ
> >> - bnad_tx_select_queue() returns priority, while only a few packets
> >during
> >> transition could have wrong priority, all will be associated with a
> >valid
> >> non-NULL tcb.
> >> - Implement bnad_iscsi_tcb_get() and BNAD_IS_ISCSI_PKT() for iSCSI
> >packet
> >> inspection and retrieval of tcb corresponding to the iSCSI
> >priority.
> >> - Construction of priority indirection table to be used by bnad to
> >direct
> >> packets into TxQs
> >[...]
> >
> >You probably should implement TX priority classes through the
> >ndo_setup_tc operation, not ndo_select_queue.
>
> The reason we went with ndo_select_queue is due to the need for mapping
> iSCSI packets (TCP port 3260) to a priority derived from DCB configuration.
> Here the iSCSI packets may not have any tc defined in the packet header.
There is an skb priority, which is derived from the socket priority
option (SO_PRIORITY). If you implement ndo_setup_tc then the networking
core will take care of mapping the skb priority onto a different queue
(or range of queues).
I don't know whether the socket priority option is easily configurable
for the existing iSCSI implementations. But looking at port numbers
really doesn't seem like the right way to do this.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
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 netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists