All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/6] net: xilinx: axienet: Enable adaptive IRQ coalescing with DIM
@ 2025-01-10 19:26 Sean Anderson
  2025-01-10 19:26 ` [PATCH net-next v3 1/6] net: xilinx: axienet: Add some symbolic constants for IRQ delay timer Sean Anderson
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Sean Anderson @ 2025-01-10 19:26 UTC (permalink / raw)
  To: David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Radhey Shyam Pandey, netdev
  Cc: linux-arm-kernel, Shannon Nelson, Michal Simek, linux-kernel,
	Sean Anderson, Heng Qi

To improve performance without sacrificing latency under low load,
enable DIM. While I appreciate not having to write the library myself, I
do think there are many unusual aspects to DIM, as detailed in the last
patch.

This series depends on [1].

[1] https://lore.kernel.org/netdev/20250110190726.2057790-1-sean.anderson@linux.dev/

Changes in v3:
- Fix mismatched parameter name documentation for axienet_calc_cr
- Integrate some cleanups originally included in
  https://lore.kernel.org/netdev/20240909230908.1319982-1-sean.anderson@linux.dev/
- Move spin (un)locking in IRQs inside the if condition of
  napi_schedule_prep. This lets us hold the lock just for the rmw.
- Fix function name in doc comments for axienet_update_coalesce_rx/tx
- Adjust axienet_local doc comment order to match the members
- Rebase onto net-next/master

Changes in v2:
- Add some symbolic constants for IRQ delay timer
- Report an error for bad coalesce settings
- Don't use spin_lock_irqsave when we know the context
- Split the CR calculation refactor from runtime coalesce settings
  adjustment support for easier review.
- Have axienet_update_coalesce_rx/tx take the cr value/mask instead of
  calculating it with axienet_calc_cr. This will make it easier to add
  partial updates in the next few commits.
- Get coalesce parameters from driver state
- Don't take the RTNL in axienet_rx_dim_work to avoid deadlock. Instead,
  calculate a partial cr update that axienet_update_coalesce_rx can
  perform under a spin lock.
- Use READ/WRITE_ONCE when accessing/modifying rx_irqs

Sean Anderson (6):
  net: xilinx: axienet: Add some symbolic constants for IRQ delay timer
  net: xilinx: axienet: Report an error for bad coalesce settings
  net: xilinx: axienet: Combine CR calculation
  net: xilinx: axienet: Support adjusting coalesce settings while
    running
  net: xilinx: axienet: Get coalesce parameters from driver state
  net: xilinx: axienet: Enable adaptive IRQ coalescing with DIM

 drivers/net/ethernet/xilinx/Kconfig           |   1 +
 drivers/net/ethernet/xilinx/xilinx_axienet.h  |  32 +-
 .../net/ethernet/xilinx/xilinx_axienet_main.c | 330 ++++++++++++++----
 3 files changed, 280 insertions(+), 83 deletions(-)

-- 
2.35.1.1320.gc452695387.dirty



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-01-14 14:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-10 19:26 [PATCH net-next v3 0/6] net: xilinx: axienet: Enable adaptive IRQ coalescing with DIM Sean Anderson
2025-01-10 19:26 ` [PATCH net-next v3 1/6] net: xilinx: axienet: Add some symbolic constants for IRQ delay timer Sean Anderson
2025-01-10 19:26 ` [PATCH net-next v3 2/6] net: xilinx: axienet: Report an error for bad coalesce settings Sean Anderson
2025-01-10 19:26 ` [PATCH net-next v3 3/6] net: xilinx: axienet: Combine CR calculation Sean Anderson
2025-01-10 22:45   ` Nelson, Shannon
2025-01-10 19:26 ` [PATCH net-next v3 4/6] net: xilinx: axienet: Support adjusting coalesce settings while running Sean Anderson
2025-01-10 22:45   ` Nelson, Shannon
2025-01-10 19:26 ` [PATCH net-next v3 5/6] net: xilinx: axienet: Get coalesce parameters from driver state Sean Anderson
2025-01-13 17:39   ` Simon Horman
2025-01-13 17:45     ` Sean Anderson
2025-01-14 14:14       ` Simon Horman
2025-01-10 19:26 ` [PATCH net-next v3 6/6] net: xilinx: axienet: Enable adaptive IRQ coalescing with DIM Sean Anderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.