Lines Matching defs:netmem_desc

27  * page or netmem_desc.
29 * CAUTION: Do not update the fields in netmem_desc without also
32 struct netmem_desc {
43 offsetof(struct netmem_desc, desc))
53 * Since struct netmem_desc uses the space in struct page, the size
54 * should be checked, until struct netmem_desc has its own instance from
57 static_assert(sizeof(struct netmem_desc) <= offsetof(struct page, _refcount));
85 * netmem_desc.
90 * usage as struct page/struct netmem_desc.
97 struct netmem_desc desc;
101 * accessed via netmem_desc e.g. niov->desc.pp instead
126 /* net_iov is union'ed with struct netmem_desc mirroring struct page, so
128 * underlying fields are accessed via netmem_desc or directly via
130 * accessed via netmem_desc e.g. niov->desc.pp instead of niov->pp.
136 static_assert(offsetof(struct netmem_desc, desc) == \
246 /* XXX: How to extract netmem_desc from page must be changed, once
247 * netmem_desc no longer overlays on page and will be allocated through
251 const struct page * : (const struct netmem_desc *)(p), \
252 struct page * : (struct netmem_desc *)(p)))
264 * __netmem_to_nmdesc - unsafely get pointer to the &netmem_desc backing
273 * Return: pointer to the &netmem_desc (garbage if @netmem is not backed
276 static inline struct netmem_desc *__netmem_to_nmdesc(netmem_ref netmem)
278 return (__force struct netmem_desc *)netmem;
281 /* netmem_to_nmdesc - convert netmem_ref to struct netmem_desc * for
283 * @netmem: netmem reference to get netmem_desc.
285 * All the sub types of netmem_ref (netmem_desc, net_iov) have the same
286 * pp, pp_magic, dma_addr, and pp_ref_count fields via netmem_desc.
288 * Return: the pointer to struct netmem_desc * regardless of its
291 static inline struct netmem_desc *netmem_to_nmdesc(netmem_ref netmem)