diff options
| author | Pavel Emelyanov <xemul@openvz.org> | 2008-03-31 22:42:16 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-03-31 22:42:16 -0400 |
| commit | 70ee115942be6ce52ff10e5e813fb4da82cdb25a (patch) | |
| tree | aa3a22dfece765ead70df8f07974e398766b0104 /include/net/netns | |
| parent | c29a0bc4dfc4d833eb702b1929cec96a3eeb9f7a (diff) | |
[SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net.
Such an accounting would cost us two more dereferences to get the
percpu variable from the struct net, so I make sock_prot_inuse_get
and _add calls work differently depending on CONFIG_NET_NS - without
it old optimized routines are used.
The per-cpu counter for init_net is prepared in core_initcall, so
that even af_inet, that starts as fs_initcall, will already have the
init_net prepared.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/netns')
| -rw-r--r-- | include/net/netns/core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/net/netns/core.h b/include/net/netns/core.h index 0e8c0f8435d4..24d4be76bbd1 100644 --- a/include/net/netns/core.h +++ b/include/net/netns/core.h | |||
| @@ -2,12 +2,15 @@ | |||
| 2 | #define __NETNS_CORE_H__ | 2 | #define __NETNS_CORE_H__ |
| 3 | 3 | ||
| 4 | struct ctl_table_header; | 4 | struct ctl_table_header; |
| 5 | struct prot_inuse; | ||
| 5 | 6 | ||
| 6 | struct netns_core { | 7 | struct netns_core { |
| 7 | /* core sysctls */ | 8 | /* core sysctls */ |
| 8 | struct ctl_table_header *sysctl_hdr; | 9 | struct ctl_table_header *sysctl_hdr; |
| 9 | 10 | ||
| 10 | int sysctl_somaxconn; | 11 | int sysctl_somaxconn; |
| 12 | |||
| 13 | struct prot_inuse *inuse; | ||
| 11 | }; | 14 | }; |
| 12 | 15 | ||
| 13 | #endif | 16 | #endif |
