mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 06:33:34 +00: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
|
name: irq
|
||||||
doc: The associated interrupt vector number for the napi
|
doc: The associated interrupt vector number for the napi
|
||||||
type: u32
|
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
|
name: queue
|
||||||
attributes:
|
attributes:
|
||||||
@ -389,6 +395,7 @@ operations:
|
|||||||
- id
|
- id
|
||||||
- ifindex
|
- ifindex
|
||||||
- irq
|
- irq
|
||||||
|
- pid
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -113,6 +113,7 @@ enum {
|
|||||||
NETDEV_A_NAPI_IFINDEX = 1,
|
NETDEV_A_NAPI_IFINDEX = 1,
|
||||||
NETDEV_A_NAPI_ID,
|
NETDEV_A_NAPI_ID,
|
||||||
NETDEV_A_NAPI_IRQ,
|
NETDEV_A_NAPI_IRQ,
|
||||||
|
NETDEV_A_NAPI_PID,
|
||||||
|
|
||||||
__NETDEV_A_NAPI_MAX,
|
__NETDEV_A_NAPI_MAX,
|
||||||
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
||||||
|
@ -113,6 +113,7 @@ enum {
|
|||||||
NETDEV_A_NAPI_IFINDEX = 1,
|
NETDEV_A_NAPI_IFINDEX = 1,
|
||||||
NETDEV_A_NAPI_ID,
|
NETDEV_A_NAPI_ID,
|
||||||
NETDEV_A_NAPI_IRQ,
|
NETDEV_A_NAPI_IRQ,
|
||||||
|
NETDEV_A_NAPI_PID,
|
||||||
|
|
||||||
__NETDEV_A_NAPI_MAX,
|
__NETDEV_A_NAPI_MAX,
|
||||||
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
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_IFINDEX] = { .name = "ifindex", .type = YNL_PT_U32, },
|
||||||
[NETDEV_A_NAPI_ID] = { .name = "id", .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_IRQ] = { .name = "irq", .type = YNL_PT_U32, },
|
||||||
|
[NETDEV_A_NAPI_PID] = { .name = "pid", .type = YNL_PT_U32, },
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ynl_policy_nest netdev_napi_nest = {
|
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;
|
return MNL_CB_ERROR;
|
||||||
dst->_present.irq = 1;
|
dst->_present.irq = 1;
|
||||||
dst->irq = mnl_attr_get_u32(attr);
|
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 id:1;
|
||||||
__u32 ifindex:1;
|
__u32 ifindex:1;
|
||||||
__u32 irq:1;
|
__u32 irq:1;
|
||||||
|
__u32 pid:1;
|
||||||
} _present;
|
} _present;
|
||||||
|
|
||||||
__u32 id;
|
__u32 id;
|
||||||
__u32 ifindex;
|
__u32 ifindex;
|
||||||
__u32 irq;
|
__u32 irq;
|
||||||
|
__u32 pid;
|
||||||
};
|
};
|
||||||
|
|
||||||
void netdev_napi_get_rsp_free(struct netdev_napi_get_rsp *rsp);
|
void netdev_napi_get_rsp_free(struct netdev_napi_get_rsp *rsp);
|
||||||
|
Loading…
Reference in New Issue
Block a user