diff options
Diffstat (limited to 'include/linux/udp.h')
| -rw-r--r-- | include/linux/udp.h | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/udp.h b/include/linux/udp.h index 4e1a672af4c5..58795688a186 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -44,6 +44,12 @@ enum {  	UDP_FLAGS_UDPLITE_RECV_CC, /* set via udplite setsockopt */  }; +/* per NUMA structure for lockless producer usage. */ +struct udp_prod_queue { +	struct llist_head	ll_root ____cacheline_aligned_in_smp; +	atomic_t		rmem_alloc; +}; +  struct udp_sock {  	/* inet_sock has to be the first member */  	struct inet_sock inet; @@ -90,6 +96,8 @@ struct udp_sock {  						struct sk_buff *skb,  						int nhoff); +	struct udp_prod_queue *udp_prod_queue; +  	/* udp_recvmsg try to use this before splicing sk_receive_queue */  	struct sk_buff_head	reader_queue ____cacheline_aligned_in_smp; @@ -108,6 +116,7 @@ struct udp_sock {  	 * the last UDP socket cacheline.  	 */  	struct hlist_node	tunnel_list; +	struct numa_drop_counters drop_counters;  };  #define udp_test_bit(nr, sk)			\  | 
