History

netdev: add io_uring memory provider info

Add a nested attribute for io_uring memory provider info. For now it is empty and its presence indicates that a particular page pool or queue has an io_uring memory provider attached. $ ./cli.py --spec netlink/specs/netdev.yaml --dump page-pool-get [{'id': 80, 'ifindex': 2, 'inflight': 64, 'inflight-mem': 262144, 'napi-id': 525}, {'id': 79, 'ifindex': 2, 'inflight': 320, 'inflight-mem': 1310720, 'io_uring': {}, 'napi-id': 525}, ... $ ./cli.py --spec netlink/specs/netdev.yaml --dump queue-get [{'id': 0, 'ifindex': 1, 'type': 'rx'}, {'id': 0, 'ifindex': 1, 'type': 'tx'}, {'id': 0, 'ifindex': 2, 'napi-id': 513, 'type': 'rx'}, {'id': 1, 'ifindex': 2, 'napi-id': 514, 'type': 'rx'}, ... {'id': 12, 'ifindex': 2, 'io_uring': {}, 'napi-id': 525, 'type': 'rx'}, ...

David Wei committed 1 year ago

Commit dcc01131 parent 57afb483 files · +29 −0Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/netdev.h+7−0
@@ -86,6 +86,11 @@ enum { · 85 unmodified lines
8686 NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1)
8787 };
8888
89+enum {
90+ __NETDEV_A_IO_URING_PROVIDER_INFO_MAX,
91+ NETDEV_A_IO_URING_PROVIDER_INFO_MAX = (__NETDEV_A_IO_URING_PROVIDER_INFO_MAX - 1)
92+};
93+
8994 enum {
9095 NETDEV_A_PAGE_POOL_ID = 1,
9196 NETDEV_A_PAGE_POOL_IFINDEX,
@@ -94,6 +99,7 @@ enum { · 2 unmodified lines
9499 NETDEV_A_PAGE_POOL_INFLIGHT_MEM,
95100 NETDEV_A_PAGE_POOL_DETACH_TIME,
96101 NETDEV_A_PAGE_POOL_DMABUF,
102+ NETDEV_A_PAGE_POOL_IO_URING,
97103
98104 __NETDEV_A_PAGE_POOL_MAX,
99105 NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1)
@@ -136,6 +142,7 @@ enum { · 36 unmodified lines
136142 NETDEV_A_QUEUE_TYPE,
137143 NETDEV_A_QUEUE_NAPI_ID,
138144 NETDEV_A_QUEUE_DMABUF,
145+ NETDEV_A_QUEUE_IO_URING,
139146
140147 __NETDEV_A_QUEUE_MAX,
141148 NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1)