Files
linux/include/trace/events
Mina Almasry 8ab79ed50c page_pool: devmem support
Convert netmem to be a union of struct page and struct netmem. Overload
the LSB of struct netmem* to indicate that it's a net_iov, otherwise
it's a page.

Currently these entries in struct page are rented by the page_pool and
used exclusively by the net stack:

struct {
	unsigned long pp_magic;
	struct page_pool *pp;
	unsigned long _pp_mapping_pad;
	unsigned long dma_addr;
	atomic_long_t pp_ref_count;
};

Mirror these (and only these) entries into struct net_iov and implement
netmem helpers that can access these common fields regardless of
whether the underlying type is page or net_iov.

Implement checks for net_iov in netmem helpers which delegate to mm
APIs, to ensure net_iov are never passed to the mm stack.

Signed-off-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20240910171458.219195-6-almasrymina@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-09-11 20:44:31 -07:00
..
2023-07-04 19:40:16 +01:00
2023-07-04 19:40:16 +01:00
2024-04-25 20:56:20 -07:00
2024-05-08 10:39:26 +01:00
2023-03-24 11:01:29 +01:00
2024-07-10 12:14:54 -07:00
2023-12-29 11:58:27 -08:00
2023-07-17 08:18:17 -06:00
2024-05-14 07:22:35 -06:00
2024-09-11 20:44:31 -07:00
2024-06-20 15:19:17 -06:00
2024-06-19 12:44:22 +01:00
2023-10-04 10:32:29 -07:00
2023-07-17 08:18:17 -06:00
2023-09-19 07:04:49 +02:00