1 #if !defined(IB_PEER_MEM_H)
4 #include <rdma/peer_mem.h>
7 struct invalidation_ctx;
10 struct ib_peer_memory_statistics {
11 unsigned long num_alloc_mrs;
12 unsigned long num_dealloc_mrs;
13 unsigned long num_reg_pages;
14 unsigned long num_dereg_pages;
15 unsigned long num_free_callbacks;
18 struct ib_peer_memory_client {
19 const struct peer_memory_client *peer_mem;
21 struct list_head core_peer_list;
22 struct list_head core_ticket_list;
23 unsigned long last_ticket;
29 struct srcu_struct peer_srcu;
33 struct attribute_group peer_mem_attr_group;
34 struct ib_peer_memory_statistics stats;
40 struct list_head ticket_list;
43 struct ib_peer_memory_client *ib_get_peer_client(struct ib_ucontext *context, unsigned long addr,
44 size_t size, void **peer_client_context,
47 void ib_put_peer_client(struct ib_peer_memory_client *ib_peer_client,
48 void *peer_client_context,
51 unsigned long ib_peer_insert_context(struct ib_peer_memory_client *ib_peer_client,
53 int ib_peer_remove_context(struct ib_peer_memory_client *ib_peer_client,
55 struct core_ticket *ib_peer_search_context(struct ib_peer_memory_client *ib_peer_client,