/* SPDX-License-Identifier: GPL-2.0-or-later */1#ifndef _NET_ALIGNED_DATA_H2#define _NET_ALIGNED_DATA_H34#include <linux/atomic.h>5#include <linux/types.h>67/* Structure holding cacheline aligned fields on SMP builds.8* Each field or group should have an ____cacheline_aligned_in_smp9* attribute to ensure no accidental false sharing can happen.10*/11struct net_aligned_data {12atomic64_t net_cookie ____cacheline_aligned_in_smp;13#if defined(CONFIG_INET)14atomic_long_t tcp_memory_allocated ____cacheline_aligned_in_smp;15atomic_long_t udp_memory_allocated ____cacheline_aligned_in_smp;16#endif17};1819extern struct net_aligned_data net_aligned_data;2021#endif /* _NET_ALIGNED_DATA_H */222324