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

netdev-genl: Dump gro_flush_timeout



Support dumping gro_flush_timeout for a NAPI ID.

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


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent acb8d4ed
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -255,6 +255,14 @@ attribute-sets:
        type: u32
        checks:
          max: s32-max
      -
        name: gro-flush-timeout
        doc: The timeout, in nanoseconds, of when to trigger the NAPI watchdog
             timer which schedules NAPI processing. Additionally, a non-zero
             value will also prevent GRO from flushing recent super-frames at
             the end of a NAPI cycle. This may add receive latency in exchange
             for reducing the number of frames processed by the network stack.
        type: uint
  -
    name: queue
    attributes:
@@ -644,6 +652,7 @@ operations:
            - irq
            - pid
            - defer-hard-irqs
            - gro-flush-timeout
      dump:
        request:
          attributes:
+1 −0
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ enum {
	NETDEV_A_NAPI_IRQ,
	NETDEV_A_NAPI_PID,
	NETDEV_A_NAPI_DEFER_HARD_IRQS,
	NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,

	__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)
{
	unsigned long gro_flush_timeout;
	u32 napi_defer_hard_irqs;
	void *hdr;
	pid_t pid;
@@ -195,6 +196,11 @@ netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi,
			napi_defer_hard_irqs))
		goto nla_put_failure;

	gro_flush_timeout = napi_get_gro_flush_timeout(napi);
	if (nla_put_uint(rsp, NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
			 gro_flush_timeout))
		goto nla_put_failure;

	genlmsg_end(rsp, hdr);

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

	__NETDEV_A_NAPI_MAX,
	NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)