mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
f033b688c1
These tracepoints make it easier to troubleshoot XDP mem id disconnect. The xdp:mem_disconnect tracepoint cannot be replaced via kprobe. It is placed at the last stable place for the pointer to struct xdp_mem_allocator, just before it's scheduled for RCU removal. It also extract info on 'safe_to_remove' and 'force'. Detailed info about in-flight pages is not available at this layer. The next patch will added tracepoints needed at the page_pool layer for this. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
24 lines
553 B
C
24 lines
553 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __LINUX_NET_XDP_PRIV_H__
|
|
#define __LINUX_NET_XDP_PRIV_H__
|
|
|
|
#include <linux/rhashtable.h>
|
|
|
|
/* Private to net/core/xdp.c, but used by trace/events/xdp.h */
|
|
struct xdp_mem_allocator {
|
|
struct xdp_mem_info mem;
|
|
union {
|
|
void *allocator;
|
|
struct page_pool *page_pool;
|
|
struct zero_copy_allocator *zc_alloc;
|
|
};
|
|
int disconnect_cnt;
|
|
unsigned long defer_start;
|
|
struct rhash_head node;
|
|
struct rcu_head rcu;
|
|
struct delayed_work defer_wq;
|
|
unsigned long defer_warn;
|
|
};
|
|
|
|
#endif /* __LINUX_NET_XDP_PRIV_H__ */
|