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; |
