mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
netdev-genl: spec: Add PID in netdev netlink YAML spec
Add support in netlink spec(netdev.yaml) for PID of the NAPI thread. Add code generated from the spec. Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com> Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com> Link: https://lore.kernel.org/r/170147335301.5260.11872351477120434501.stgit@anambiarhost.jf.intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
26793bfb5d
commit
8481a249a0
@ -230,6 +230,12 @@ attribute-sets:
|
||||
name: irq
|
||||
doc: The associated interrupt vector number for the napi
|
||||
type: u32
|
||||
-
|
||||
name: pid
|
||||
doc: PID of the napi thread, if NAPI is configured to operate in
|
||||
threaded mode. If NAPI is not in threaded mode (i.e. uses normal
|
||||
softirq context), the attribute will be absent.
|
||||
type: u32
|
||||
-
|
||||
name: queue
|
||||
attributes:
|
||||
@ -389,6 +395,7 @@ operations:
|
||||
- id
|
||||
- ifindex
|
||||
- irq
|
||||
- pid
|
||||
dump:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -113,6 +113,7 @@ enum {
|
||||
NETDEV_A_NAPI_IFINDEX = 1,
|
||||
NETDEV_A_NAPI_ID,
|
||||
NETDEV_A_NAPI_IRQ,
|
||||
NETDEV_A_NAPI_PID,
|
||||
|
||||
__NETDEV_A_NAPI_MAX,
|
||||
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
||||
|
@ -113,6 +113,7 @@ enum {
|
||||
NETDEV_A_NAPI_IFINDEX = 1,
|
||||
NETDEV_A_NAPI_ID,
|
||||
NETDEV_A_NAPI_IRQ,
|
||||
NETDEV_A_NAPI_PID,
|
||||
|
||||
__NETDEV_A_NAPI_MAX,
|
||||
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
||||
|
@ -165,6 +165,7 @@ struct ynl_policy_attr netdev_napi_policy[NETDEV_A_NAPI_MAX + 1] = {
|
||||
[NETDEV_A_NAPI_IFINDEX] = { .name = "ifindex", .type = YNL_PT_U32, },
|
||||
[NETDEV_A_NAPI_ID] = { .name = "id", .type = YNL_PT_U32, },
|
||||
[NETDEV_A_NAPI_IRQ] = { .name = "irq", .type = YNL_PT_U32, },
|
||||
[NETDEV_A_NAPI_PID] = { .name = "pid", .type = YNL_PT_U32, },
|
||||
};
|
||||
|
||||
struct ynl_policy_nest netdev_napi_nest = {
|
||||
@ -216,6 +217,11 @@ int netdev_page_pool_info_parse(struct ynl_parse_arg *yarg,
|
||||
return MNL_CB_ERROR;
|
||||
dst->_present.irq = 1;
|
||||
dst->irq = mnl_attr_get_u32(attr);
|
||||
} else if (type == NETDEV_A_NAPI_PID) {
|
||||
if (ynl_attr_validate(yarg, attr))
|
||||
return MNL_CB_ERROR;
|
||||
dst->_present.pid = 1;
|
||||
dst->pid = mnl_attr_get_u32(attr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -388,11 +388,13 @@ struct netdev_napi_get_rsp {
|
||||
__u32 id:1;
|
||||
__u32 ifindex:1;
|
||||
__u32 irq:1;
|
||||
__u32 pid:1;
|
||||
} _present;
|
||||
|
||||
__u32 id;
|
||||
__u32 ifindex;
|
||||
__u32 irq;
|
||||
__u32 pid;
|
||||
};
|
||||
|
||||
void netdev_napi_get_rsp_free(struct netdev_napi_get_rsp *rsp);
|
||||
|
Loading…
Reference in New Issue
Block a user