On Fri, 2016-02-19 at 09:23 -0500, Kan Liang wrote: > Modern network interface controllers usually support multiple receive > and transmit queues. Each queue may have its own parameters. For > example, Intel XL710/X710 hardware supports per queue interrupt > moderation. However, current ethtool does not support per queue > parameters option. User has to set parameters for the whole NIC. > This series extends ethtool to support per queue parameters option. > > Since the support of per queue parameters vary with different cards, > it is impossible to address all cards in one patch. This series only > supports per queue coalesce options on i40e driver. The framework > used > in the patch can be easily extended to other cards and parameters. > > The lib bitmap needs to be extended to facilitate exchanging queue > bitmaps > between user space and kernel space. Two patches from David's latest > V8 > patch series are also cited in this series. You may refer to > https://lkml.org/lkml/2016/2/9/919 for more details. > > Changes since V6: > - Rebase on commit 76d13b568776. Did minor change in patch 6. > > Changes since V5: > - Add test_bitmap.c and bitmap.sh in the series. They are forgot > to be added previously. > - Update the first two patches to David's latest V8 version. The > changes > include > - bitmap u32 API returns number of bits copied, unit tests > updated > - module_exit in test_bitmap > - Also change the mode of bitmap.sh to 755 according to Ben's > suggestion > > Changes since V4: > - Modify set/get_per_queue_coalesce function description > - Change the queue number to be u32 > - Correct an error of calculating coalesce backup buffer address > - Rename queue_num to n_queues > - Don't log error message in __i40e_get_coalesce > > Changes since V3: > - Based on David's lib bitmap. > - ETHTOOL_PERQUEUE should be handled before the containing switch > - Make the rollback code unconditional > - some minor changes according to Ben's feedback > > Changes since V2: > - Add queue-specific settings for interrupt moderation in i40e > > Changes since V1: > - Checking the sub-command number to determine whether the command > requires CAP_NET_ADMIN > - Refine the struct ethtool_per_queue_op and improve the comments > - Use bitmap functions to parse queue mask > - Improve comments > - Use bitmap functions to parse queue mask > - Improve comments > - Add rollback support > - Correct the way to find the vector for specific queue. > > David Decotigny (2): > lib/bitmap.c: conversion routines to/from u32 array > test_bitmap: unit tests for lib/bitmap.c > > Kan Liang (6) > net/ethtool: introduce a new ioctl for per queue setting > net/ethtool: support get coalesce per queue > net/ethtool: support set coalesce per queue > i40e: queue-specific settings for interrupt moderation > i40e/ethtool: support coalesce getting by queue > i40e/ethtool: support coalesce setting by queue > > drivers/net/ethernet/intel/i40e/i40e.h | 7 - > drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 15 +- > drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 151 +++++++---- > drivers/net/ethernet/intel/i40e/i40e_main.c | 12 +- > drivers/net/ethernet/intel/i40e/i40e_txrx.c | 9 +- > drivers/net/ethernet/intel/i40e/i40e_txrx.h | 8 +
Dave, I have pretty much cleared out my i40e queue of patches, so I am fine if you want to apply the entire series (of course after proper review) :-)
signature.asc
Description: This is a digitally signed message part