[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1432066130.621.58.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Tue, 19 May 2015 13:08:50 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Tom Herbert <tom@...bertland.com>
Cc: davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 2/2] net: Add incoming CPU mask to sockets
On Tue, 2015-05-19 at 12:01 -0700, Tom Herbert wrote:
Hi Tom
> struct sock;
> struct proto;
> struct net;
> @@ -420,6 +425,7 @@ struct sock {
> struct timer_list sk_timer;
> ktime_t sk_stamp;
> u16 sk_tsflags;
> + struct rcu_cpumask __rcu *sk_incoming_cpu_mask;
This is in the middle of 2 fields, adding extra holes on 64bit
This is also very far away from other lookup fields, adding an extra
cache line miss in socket lookup.
> u32 sk_tskey;
> struct socket *sk_socket;
> void *sk_user_data;
> @@ -2213,6 +2219,27 @@ static inline bool sk_fullsock(const struct sock *sk)
> return (1 << sk->sk_state) & ~(TCPF_TIME_WAIT | TCPF_NEW_SYN_RECV);
> }
>
This feature anyway depends on the final bits of TCP listener rewrite I
am currently doing.
You can not assume that SYN and the ACK packet (1st and 3rd packets or
3WHS) will be handled by the same cpu.
After my rewrite, the listener will be searched only for the SYN packet,
and your patch might be applied.
As I said, this is almost done.
--
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