#ifndef _NET_RPS_H
#define _NET_RPS_H
#include <linux/types.h>
#include <linux/static_key.h>
#include <net/sock.h>
#include <net/hotdata.h>
#ifdef CONFIG_RPS
extern struct static_key_false rps_needed;
extern struct static_key_false rfs_needed;
struct rps_map { … };
#define RPS_MAP_SIZE(_num) …
struct rps_dev_flow { … };
#define RPS_NO_FILTER …
struct rps_dev_flow_table { … };
#define RPS_DEV_FLOW_TABLE_SIZE(_num) …
struct rps_sock_flow_table { … };
#define RPS_SOCK_FLOW_TABLE_SIZE(_num) …
#define RPS_NO_CPU …
static inline void rps_record_sock_flow(struct rps_sock_flow_table *table,
u32 hash)
{ … }
#endif
static inline void sock_rps_record_flow_hash(__u32 hash)
{ … }
static inline void sock_rps_record_flow(const struct sock *sk)
{ … }
static inline u32 rps_input_queue_tail_incr(struct softnet_data *sd)
{ … }
static inline void rps_input_queue_tail_save(u32 *dest, u32 tail)
{ … }
static inline void rps_input_queue_head_add(struct softnet_data *sd, int val)
{ … }
static inline void rps_input_queue_head_incr(struct softnet_data *sd)
{ … }
#endif