Re: [PATCH 20/31]: pkt_sched: Perform bulk of qdisc destruction in RCU.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <herbert@...>
Cc: <hadi@...>, <kaber@...>, <netdev@...>, <johannes@...>, <linux-wireless@...>
Date: Friday, August 22, 2008 - 6:42 am

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Fri, 22 Aug 2008 17:41:15 +1000


I had another idea in the back of my head that I wanted to mention.

The SKB has a hash, and sources set the hash.  It doesn't matter
where in the stack it comes from.

At transmit time, the select queue logic in dev_queue_xmit() will use
the SKB hash if one has been set already.  Otherwise it will do the
hashing it does currently.

So in the simplest case for forwarding, the RX side puts the RSS
hash or whatever into this SKB hash location.

Then, taking things to the next level, protocols set hashes for
locally created packets.  And this leads to being able to delete
the simple_tx_hash() code entirely and also we won't have to add
support for every protocol on the planet to that function. :)

TCP sockets maybe could even do something clever, like, using the
incoming SKB hash of the SYN and SYN+ACK packets for all subsequent
SKBs sent by that socket.

Another nice side effect, we have the choice of allowing IPSEC
encapsulation of locally generated frames to not change the TX queue.
This would have to be controlled by a sysctl or similar because I
can see both ways being useful in different circumstances.

You get the idea.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 20/31]: pkt_sched: Perform bulk of qdisc destruct..., David Miller, (Fri Aug 22, 6:42 am)