Commit 51601046 authored by Joe Damato's avatar Joe Damato Committed by Jakub Kicinski
Browse files

netdev-genl: Dump napi_defer_hard_irqs



Support dumping defer_hard_irqs for a NAPI ID.

Signed-off-by: default avatarJoe Damato <jdamato@fastly.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20241011184527.16393-3-jdamato@fastly.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f15e3b3d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -248,6 +248,13 @@ attribute-sets:
             threaded mode. If NAPI is not in threaded mode (i.e. uses normal
             softirq context), the attribute will be absent.
        type: u32
      -
        name: defer-hard-irqs
        doc: The number of consecutive empty polls before IRQ deferral ends
             and hardware IRQs are re-enabled.
        type: u32
        checks:
          max: s32-max
  -
    name: queue
    attributes:
@@ -636,6 +643,7 @@ operations:
            - ifindex
            - irq
            - pid
            - defer-hard-irqs
      dump:
        request:
          attributes:
+1 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ enum {
	NETDEV_A_NAPI_ID,
	NETDEV_A_NAPI_IRQ,
	NETDEV_A_NAPI_PID,
	NETDEV_A_NAPI_DEFER_HARD_IRQS,

	__NETDEV_A_NAPI_MAX,
	NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
+6 −0
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ static int
netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi,
			const struct genl_info *info)
{
	u32 napi_defer_hard_irqs;
	void *hdr;
	pid_t pid;

@@ -189,6 +190,11 @@ netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi,
			goto nla_put_failure;
	}

	napi_defer_hard_irqs = napi_get_defer_hard_irqs(napi);
	if (nla_put_s32(rsp, NETDEV_A_NAPI_DEFER_HARD_IRQS,
			napi_defer_hard_irqs))
		goto nla_put_failure;

	genlmsg_end(rsp, hdr);

	return 0;
+1 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ enum {
	NETDEV_A_NAPI_ID,
	NETDEV_A_NAPI_IRQ,
	NETDEV_A_NAPI_PID,
	NETDEV_A_NAPI_DEFER_HARD_IRQS,

	__NETDEV_A_NAPI_MAX,
	NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)