[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090615.020738.243788769.davem@davemloft.net>
Date: Mon, 15 Jun 2009 02:07:38 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: netdev@...r.kernel.org
CC: jeffrey.t.kirsher@...el.com, jesse.brandeburg@...el.com
Subject: flow director and packet ordering
Does the flow director implementation in IXGBE make sure to preserve
packet ordering in some way?
You can't just change the RX flow destination queue whenever you like.
For example, if a transmit happens on cpu 1, then we start to receive
some packets for that flow on that cpu, will a sudden set of transmits
on another cpu make the flow director quickly switch the RX
destination?
That would be very bad.
Without some extreme care that will result in potential packet
reordering.
There needs to be some safey net in place in your silicon to wait for
a significant "quiet time" in the RX stream before you can revector
the RX flow destination setting. Enough time to let the stack process
all that packets for that flow received on the currently bound flow
CPU.
To be honest, I'm not optimistic about this situation :-/
--
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