From: Sunil Goutham <redacted>
This patch series contains changes
- To add support for virtual function's irq affinity hint
- Replace napi_schedule() with napi_schedule_irqoff()
- Reduce page allocation overhead by allocating pages
of higher order when pagesize is 4KB.
- Add couple of stats which helps in debugging
- Some miscellaneous changes to BGX driver.
David Daney (1):
net: thunderx: bgx: Use standard firmware node infrastructure.
Robert Richter (1):
net: thunderx: bgx: Add log message when setting mac address
Sunil Goutham (3):
net: thunderx: Use napi_schedule_irqoff()
net: thunderx: Assign affinity hints to vf's interrupts
net: thunderx: Alloc higher order pages when pagesize is small
Thanneeru Srinivasulu (1):
net, thunderx: Add TX timeout and RX buffer alloc failure stats.
drivers/net/ethernet/cavium/thunder/nic.h | 4 ++
.../net/ethernet/cavium/thunder/nicvf_ethtool.c | 2 +
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 40 ++++++++++++++++++-
drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 5 +-
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 38 +++++++++++--------
5 files changed, 67 insertions(+), 22 deletions(-)
From: Thanneeru Srinivasulu <redacted>
When system is low on atomic memory, too many error messages are logged.
Since this is not a total failure but a simple switch to non-atomic allocation
better to have a stat.
Also add a stat for reset, kicked due to transmit watchdog timeout.
Signed-off-by: Thanneeru Srinivasulu <redacted>
Signed-off-by: Sunil Goutham <redacted>
---
drivers/net/ethernet/cavium/thunder/nic.h | 3 +++
.../net/ethernet/cavium/thunder/nicvf_ethtool.c | 2 ++
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 1 +
drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 3 +--
4 files changed, 7 insertions(+), 2 deletions(-)
From: Sunil Goutham <redacted>
napi_schedule is being called from hard irq context, hence
switch to napi_schedule_irqoff which avoids unneeded call
to local_irq_save and local_irq_restore.
Signed-off-by: Sunil Goutham <redacted>
---
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
From: Sunil Goutham <redacted>
This affinity hint can be used by user space irqbalance tool to set
preferred CPU mask for irqs registered by this VF. Irqbalance needs
to be in 'exact' mode to set irq affinity same as indicated by
affinity hint.
Signed-off-by: Sunil Goutham <redacted>
---
drivers/net/ethernet/cavium/thunder/nic.h | 1 +
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 37 ++++++++++++++++++++-
2 files changed, 36 insertions(+), 2 deletions(-)
From: Sunil Goutham <redacted>
Allocate higher order pages when pagesize is small, this will
reduce number of calls to page allocator and wastage of memory.
Signed-off-by: Sunil Goutham <redacted>
---
drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
From: David Daney <redacted>
In the case of OF device tree, the firmware information is attached to
the BGX device structure in the standard manner, so use the firmware
iterators and accessors where possible.
Signed-off-by: David Daney <redacted>
Signed-off-by: Sunil Goutham <redacted>
---
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 27 +++++++++++----------
1 files changed, 14 insertions(+), 13 deletions(-)
@@ -968,26 +968,27 @@ static int bgx_init_acpi_phy(struct bgx *bgx)staticintbgx_init_of_phy(structbgx*bgx){-structdevice_node*np;-structdevice_node*np_child;+structfwnode_handle*fwn;u8lmac=0;-charbgx_sel[5];constchar*mac;-/* Get BGX node from DT */-snprintf(bgx_sel,5,"bgx%d",bgx->bgx_id);-np=of_find_node_by_name(NULL,bgx_sel);-if(!np)-return-ENODEV;+device_for_each_child_node(&bgx->pdev->dev,fwn){+structdevice_node*phy_np;+structdevice_node*node=to_of_node(fwn);++/* If it is not an OF node we cannot handle it yet, so+*exittheloop.+*/+if(!node)+break;-for_each_child_of_node(np,np_child){-structdevice_node*phy_np=of_parse_phandle(np_child,-"phy-handle",0);+phy_np=of_parse_phandle(node,"phy-handle",0);if(!phy_np)continue;+bgx->lmac[lmac].phydev=of_phy_find_device(phy_np);-mac=of_get_mac_address(np_child);+mac=of_get_mac_address(node);if(mac)ether_addr_copy(bgx->lmac[lmac].mac,mac);
@@ -995,7 +996,7 @@ static int bgx_init_of_phy(struct bgx *bgx)bgx->lmac[lmac].lmacid=lmac;lmac++;if(lmac==MAX_LMAC_PER_BGX){-of_node_put(np_child);+of_node_put(node);break;}}
Hi David,
If time permits, can you please look at this patchset.
Thanks,
Sunil.
On Mon, Feb 8, 2016 at 5:37 PM, [off-list ref] wrote:
From: Sunil Goutham <redacted>
This patch series contains changes
- To add support for virtual function's irq affinity hint
- Replace napi_schedule() with napi_schedule_irqoff()
- Reduce page allocation overhead by allocating pages
of higher order when pagesize is 4KB.
- Add couple of stats which helps in debugging
- Some miscellaneous changes to BGX driver.
David Daney (1):
net: thunderx: bgx: Use standard firmware node infrastructure.
Robert Richter (1):
net: thunderx: bgx: Add log message when setting mac address
Sunil Goutham (3):
net: thunderx: Use napi_schedule_irqoff()
net: thunderx: Assign affinity hints to vf's interrupts
net: thunderx: Alloc higher order pages when pagesize is small
Thanneeru Srinivasulu (1):
net, thunderx: Add TX timeout and RX buffer alloc failure stats.
drivers/net/ethernet/cavium/thunder/nic.h | 4 ++
.../net/ethernet/cavium/thunder/nicvf_ethtool.c | 2 +
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 40 ++++++++++++++++++-
drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 5 +-
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 38 +++++++++++--------
5 files changed, 67 insertions(+), 22 deletions(-)
If time permits, can you please look at this patchset.
You were given feedback and I expect you to address that feedback
and resubmit this series.
This is what the "Changed Requested" state in patchwork means.
If time permits, can you please look at this patchset.
You were given feedback and I expect you to address that feedback
and resubmit this series.
This is what the "Changed Requested" state in patchwork means.
Sunil, should I send a reworked version of my patch to you, or do you
just want to change it to dev_err() for me?
Thanks,
-Robert