[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20110714.160255.2277414883184091455.davem@davemloft.net>
Date: Thu, 14 Jul 2011 16:02:55 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: ariele@...adcom.com
Cc: netdev@...r.kernel.org, eilong@...adcom.com
Subject: Re: [PATCH 2/2 net-next] bnx2x: Multiple concurrent l2 traffic
classes
From: "Ariel Elior" <ariele@...adcom.com>
Date: Thu, 14 Jul 2011 21:31:57 +0300
> Overview:
> Support mapping of priorities to traffic classes and
> traffic classes to transmission queues ranges in the net device.
> The queue ranges are (count, offset) pairs relating to the txq
> array.
> This can be done via DCBX negotiation or by kernel.
> As a result Enhanced Transmission Selection (ETS) and Priority Flow
> Control (PFC) are supported between L2 network traffic classes.
>
> Mapping:
> This patch uses the netdev_set_num_tc, netdev_set_prio_tc_map and
> netdev_set_tc_queue functions to map priorities to traffic classes
> and traffic classes to transmission queue ranges.
> This mapping is performed by bnx2x_setup_tc function which is
> connected to the ndo_setup_tc.
> This function is always called at nic load where by default it
> maps all priorities to tc 0, and it may also be called by the
> kernel or by the bnx2x upon DCBX negotiation to modify the mapping.
>
> rtnl lock:
> When the ndo_setup_tc is called at nic load or by kernel the rtnl
> lock is already taken. However, when DCBX negotiation takes place
> the lock is not taken. The work is therefore scheduled to be
> handled by the sp_rtnl task.
>
> Fastpath:
> The fastpath structure of the bnx2x which was previously used
> to hold the information of one tx queue and one rx queue was
> redesigned to represent multiple tx queues, one for each traffic
> class.
> The transmission queue supplied in the skb by the kernel can no
> longer be interpreted as a straightforward index into the fastpath
> structure array, but it must rather be decoded to the appropriate
> fastpath index and the tc within that fastpath.
>
> Slowpath:
> The bnx2x's queue object was redesigned to accommodate multiple
> transmission queues. The queue object's state machine was enhanced
> to allow opening multiple transmission-only connections on top of
> the regular tx-rx connection.
>
> Firmware:
> This feature relies on the tx-only queue feature introduced in the
> bnx2x 7.0.23 firmware and the FW likewise must have the bnx2x multi
> cos support.
>
> Signed-off-by: Ariel Elior <ariele@...adcom.com>
> Signed-off-by: Eilon Greenstein <eilong@...adcom.com>
Applied.
--
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