Pavel Emelyanov | 0b44191 | 2008-06-16 17:14:11 -0700 | [diff] [blame] | 1 | #ifndef __NET_NS_HASH_H__ |
| 2 | #define __NET_NS_HASH_H__ |
| 3 | |
| 4 | #include <asm/cache.h> |
| 5 | |
| 6 | struct net; |
| 7 | |
Eric Dumazet | 6eada01 | 2015-03-18 14:05:33 -0700 | [diff] [blame] | 8 | static inline u32 net_hash_mix(const struct net *net) |
Pavel Emelyanov | 0b44191 | 2008-06-16 17:14:11 -0700 | [diff] [blame] | 9 | { |
| 10 | #ifdef CONFIG_NET_NS |
| 11 | /* |
| 12 | * shift this right to eliminate bits, that are |
| 13 | * always zeroed |
| 14 | */ |
| 15 | |
Eric Dumazet | 6eada01 | 2015-03-18 14:05:33 -0700 | [diff] [blame] | 16 | return (u32)(((unsigned long)net) >> L1_CACHE_SHIFT); |
Pavel Emelyanov | 0b44191 | 2008-06-16 17:14:11 -0700 | [diff] [blame] | 17 | #else |
| 18 | return 0; |
| 19 | #endif |
| 20 | } |
| 21 | #endif |