diff options
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 6767d75ecb17..7789b59c0c40 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -273,6 +273,7 @@ struct cg_proto; | |||
273 | * @sk_rcvtimeo: %SO_RCVTIMEO setting | 273 | * @sk_rcvtimeo: %SO_RCVTIMEO setting |
274 | * @sk_sndtimeo: %SO_SNDTIMEO setting | 274 | * @sk_sndtimeo: %SO_SNDTIMEO setting |
275 | * @sk_rxhash: flow hash received from netif layer | 275 | * @sk_rxhash: flow hash received from netif layer |
276 | * @sk_incoming_cpu: record cpu processing incoming packets | ||
276 | * @sk_txhash: computed flow hash for use on transmit | 277 | * @sk_txhash: computed flow hash for use on transmit |
277 | * @sk_filter: socket filtering instructions | 278 | * @sk_filter: socket filtering instructions |
278 | * @sk_protinfo: private area, net family specific, when not using slab | 279 | * @sk_protinfo: private area, net family specific, when not using slab |
@@ -350,6 +351,12 @@ struct sock { | |||
350 | #ifdef CONFIG_RPS | 351 | #ifdef CONFIG_RPS |
351 | __u32 sk_rxhash; | 352 | __u32 sk_rxhash; |
352 | #endif | 353 | #endif |
354 | u16 sk_incoming_cpu; | ||
355 | /* 16bit hole | ||
356 | * Warned : sk_incoming_cpu can be set from softirq, | ||
357 | * Do not use this hole without fully understanding possible issues. | ||
358 | */ | ||
359 | |||
353 | __u32 sk_txhash; | 360 | __u32 sk_txhash; |
354 | #ifdef CONFIG_NET_RX_BUSY_POLL | 361 | #ifdef CONFIG_NET_RX_BUSY_POLL |
355 | unsigned int sk_napi_id; | 362 | unsigned int sk_napi_id; |
@@ -833,6 +840,11 @@ static inline int sk_backlog_rcv(struct sock *sk, struct sk_buff *skb) | |||
833 | return sk->sk_backlog_rcv(sk, skb); | 840 | return sk->sk_backlog_rcv(sk, skb); |
834 | } | 841 | } |
835 | 842 | ||
843 | static inline void sk_incoming_cpu_update(struct sock *sk) | ||
844 | { | ||
845 | sk->sk_incoming_cpu = raw_smp_processor_id(); | ||
846 | } | ||
847 | |||
836 | static inline void sock_rps_record_flow_hash(__u32 hash) | 848 | static inline void sock_rps_record_flow_hash(__u32 hash) |
837 | { | 849 | { |
838 | #ifdef CONFIG_RPS | 850 | #ifdef CONFIG_RPS |