diff options
Diffstat (limited to 'include/linux/net.h')
-rw-r--r-- | include/linux/net.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/linux/net.h b/include/linux/net.h index 4157b5d42bd6..2b4deeeb8646 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -59,6 +59,7 @@ typedef enum { | |||
59 | #include <linux/wait.h> | 59 | #include <linux/wait.h> |
60 | #include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */ | 60 | #include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */ |
61 | #include <linux/kmemcheck.h> | 61 | #include <linux/kmemcheck.h> |
62 | #include <linux/rcupdate.h> | ||
62 | 63 | ||
63 | struct poll_table_struct; | 64 | struct poll_table_struct; |
64 | struct pipe_inode_info; | 65 | struct pipe_inode_info; |
@@ -116,6 +117,12 @@ enum sock_shutdown_cmd { | |||
116 | SHUT_RDWR = 2, | 117 | SHUT_RDWR = 2, |
117 | }; | 118 | }; |
118 | 119 | ||
120 | struct socket_wq { | ||
121 | wait_queue_head_t wait; | ||
122 | struct fasync_struct *fasync_list; | ||
123 | struct rcu_head rcu; | ||
124 | } ____cacheline_aligned_in_smp; | ||
125 | |||
119 | /** | 126 | /** |
120 | * struct socket - general BSD socket | 127 | * struct socket - general BSD socket |
121 | * @state: socket state (%SS_CONNECTED, etc) | 128 | * @state: socket state (%SS_CONNECTED, etc) |
@@ -135,11 +142,8 @@ struct socket { | |||
135 | kmemcheck_bitfield_end(type); | 142 | kmemcheck_bitfield_end(type); |
136 | 143 | ||
137 | unsigned long flags; | 144 | unsigned long flags; |
138 | /* | 145 | |
139 | * Please keep fasync_list & wait fields in the same cache line | 146 | struct socket_wq *wq; |
140 | */ | ||
141 | struct fasync_struct *fasync_list; | ||
142 | wait_queue_head_t wait; | ||
143 | 147 | ||
144 | struct file *file; | 148 | struct file *file; |
145 | struct sock *sk; | 149 | struct sock *sk; |