[PATCH net] bonding: Force slave speed check after link state recovery for 802.3ad

2019-07-16 Thread Thomas Falcon
_LACP_ENABLE if needed when transitioning from BOND_LINK_FAIL to BOND_LINK_UP. CC: Jarod Wilson CC: Jay Vosburgh CC: Veaceslav Falico CC: Andy Gospodarek Signed-off-by: Thomas Falcon --- drivers/net/bonding/bond_main.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/net/bond

Re: [PATCHv2 net 0/2] Add netdev_level_ratelimited to avoid netdev msg flush

2019-08-12 Thread Thomas Falcon
On 8/12/19 2:37 AM, Hangbin Liu wrote: On Sun, Aug 11, 2019 at 09:08:20PM -0700, David Miller wrote: From: Hangbin Liu Date: Fri, 9 Aug 2019 08:29:39 +0800 ibmveth 3003 env3: h_multicast_ctrl rc=4 when adding an entry to the filter table error when add more thann 256 memberships in on

Re: [PATCH net] ibmveth: Convert multicast list size for little-endian systems

2019-08-12 Thread Thomas Falcon
On 8/12/19 12:49 PM, Joe Perches wrote: On Mon, 2019-08-12 at 12:43 -0500, Thomas Falcon wrote: The ibm,mac-address-filters property defines the maximum number of addresses the hypervisor's multicast filter list can support. It is encoded as a big-endian integer in the OF device tree, bu

[PATCH net] ibmveth: Convert multicast list size for little-endian systems

2019-08-12 Thread Thomas Falcon
, the driver is not behaving as it should on affected systems when a large number of multicast addresses are assigned to the device. Reported-by: Hangbin Liu Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmveth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver

[PATCH net v2] ibmveth: Convert multicast list size for little-endian system

2019-08-12 Thread Thomas Falcon
, the driver is not behaving as it should on affected systems when a large number of multicast addresses are assigned to the device. Reported-by: Hangbin Liu Signed-off-by: Thomas Falcon --- v2: define filter size pointer as __be32 instead of unsigned int, suggested by Joe Perches --- driver

[PATCH net v2 1/2] ibmvnic: Ensure that SCRQ entry reads are correctly ordered

2020-11-30 Thread Thomas Falcon
correct descriptor entry is checked and after reading the SCRQ descriptor to ensure the entire descriptor is read before processing. Fixes: 032c5e828 ("Driver for IBM System i/p VNIC protocol") Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 18

[PATCH net v2 0/2] ibmvnic: Bug fixes for queue descriptor processing

2020-11-30 Thread Thomas Falcon
n the descriptor, in which case the respective socket buffer and other relevant data structures may not be freed or updated properly. v2: Provide more detailed comments explaining specifically what reads are being ordered, suggested by Michael Ellerman Thomas Falcon (2): ibmvnic: Ensure that

[PATCH net v2 2/2] ibmvnic: Fix TX completion error handling

2020-11-30 Thread Thomas Falcon
TX completions received with an error return code are not being processed properly. When an error code is seen, do not proceed to the next completion before cleaning up the existing entry's data structures. Fixes: 032c5e828 ("Driver for IBM System i/p VNIC protocol") Signed-off-by

[PATCH net v3 0/2] ibmvnic: Bug fixes for queue descriptor processing

2020-12-01 Thread Thomas Falcon
ed by Michael Ellerman Thomas Falcon (2): ibmvnic: Ensure that SCRQ entry reads are correctly ordered ibmvnic: Fix TX completion error handling drivers/net/ethernet/ibm/ibmvnic.c | 22 +++--- 1 file changed, 19 insertions(+), 3 deletions(-) -- 1.8.3.1

[PATCH net v3 2/2] ibmvnic: Fix TX completion error handling

2020-12-01 Thread Thomas Falcon
TX completions received with an error return code are not being processed properly. When an error code is seen, do not proceed to the next completion before cleaning up the existing entry's data structures. Fixes: 032c5e82847a ("Driver for IBM System i/p VNIC protocol") Signed

[PATCH net v3 1/2] ibmvnic: Ensure that SCRQ entry reads are correctly ordered

2020-12-01 Thread Thomas Falcon
correct descriptor entry is checked and after reading the SCRQ descriptor to ensure the entire descriptor is read before processing. Fixes: 032c5e82847a ("Driver for IBM System i/p VNIC protocol") Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 18

Re: linux-next: manual merge of the net-next tree with the net tree

2020-12-02 Thread Thomas Falcon
On 12/1/20 7:20 PM, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the net-next tree got a conflict in: drivers/net/ethernet/ibm/ibmvnic.c between commit: b71ec9522346 ("ibmvnic: Ensure that SCRQ entry reads are correctly ordered") from the net tree and commit: ec20f36

[PATCH net-next v2 0/9] ibmvnic: Performance improvements and other updates

2020-11-18 Thread Thomas Falcon
(4): ibmvnic: Ensure that device queue memory is cache-line aligned ibmvnic: Correctly re-enable interrupts in NAPI polling routine ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers ibmvnic: Do not replenish RX buffers after every polling loop Thomas Falcon

[PATCH net-next v2 4/9] ibmvnic: Clean up TX code and TX buffer data structure

2020-11-18 Thread Thomas Falcon
Remove unused and superfluous code and members in existing TX implementation and data structures. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 31 +++--- drivers/net/ethernet/ibm/ibmvnic.h | 8 2 files changed, 11 insertions(+), 28

[PATCH net-next v2 3/9] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls

2020-11-18 Thread Thomas Falcon
per TX descriptor. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 204 - 1 file changed, 139 insertions(+), 65 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 17ba6db6f5f9..650aaf100d65

[PATCH net-next v2 6/9] ibmvnic: Ensure that device queue memory is cache-line aligned

2020-11-18 Thread Thomas Falcon
From: "Dwip N. Banerjee" PCI bus slowdowns were observed on IBM VNIC devices as a result of partial cache line writes and non-cache aligned full cache line writes. Ensure that packet data buffers are cache-line aligned to avoid these slowdowns. Signed-off-by: Dwip N. Banerjee --- drivers/net/e

[PATCH net-next v2 8/9] ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers

2020-11-18 Thread Thomas Falcon
From: "Dwip N. Banerjee" Take advantage of the additional optimizations in netdev_alloc_skb when allocating socket buffers to be used for packet reception. Signed-off-by: Dwip N. Banerjee --- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[PATCH net-next v2 1/9] ibmvnic: Introduce indirect subordinate Command Response Queue buffer

2020-11-18 Thread Thomas Falcon
This patch introduces the infrastructure to send batched subordinate Command Response Queue descriptors, which are used by the ibmvnic driver to send TX frame and RX buffer descriptors. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 23 +++ drivers/net

[PATCH net-next v2 7/9] ibmvnic: Correctly re-enable interrupts in NAPI polling routine

2020-11-18 Thread Thomas Falcon
From: "Dwip N. Banerjee" If the current NAPI polling loop exits without completing it's budget, only re-enable interrupts if there are no entries remaining in the queue and napi_complete_done is successful. If there are entries remaining on the queue that were missed, restart the polling loop. S

[PATCH net-next v2 9/9] ibmvnic: Do not replenish RX buffers after every polling loop

2020-11-18 Thread Thomas Falcon
From: "Dwip N. Banerjee" Reduce the amount of time spent replenishing RX buffers by only doing so once available buffers has fallen under a certain threshold, in this case half of the total number of buffers, or if the polling loop exits before the packets processed is less than its budget. Sign

[PATCH net-next v2 5/9] ibmvnic: Remove send_subcrq function

2020-11-18 Thread Thomas Falcon
It is not longer used, so remove it. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 34 -- 1 file changed, 34 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 2aace693559f..e9b0cb6dfd9d

[PATCH net-next v2 2/9] ibmvnic: Introduce batched RX buffer descriptor transmission

2020-11-18 Thread Thomas Falcon
: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 57 +++--- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 3884f8a683a7..17ba6db6f5f9 100644 --- a/drivers/net/ethernet

Re: [PATCH net-next v2 9/9] ibmvnic: Do not replenish RX buffers after every polling loop

2020-11-19 Thread Thomas Falcon
On 11/19/20 2:38 PM, ljp wrote: On 2020-11-19 14:26, Thomas Falcon wrote: On 11/19/20 3:43 AM, ljp wrote: On 2020-11-18 19:12, Thomas Falcon wrote: From: "Dwip N. Banerjee" Reduce the amount of time spent replenishing RX buffers by only doing so once available buffers has fall

[PATCH net 0/2] ibmvnic: Bug fixes for queue descriptor processing

2020-11-24 Thread Thomas Falcon
n the descriptor, in which case the respective socket buffer and other relevant data structures may not be freed or updated properly. Thomas Falcon (2): ibmvnic: Ensure that SCRQ entry reads are correctly ordered ibmvnic: Fix TX completion error handling drivers/net/ethernet/ibm/ibmvnic.c

[PATCH net 2/2] ibmvnic: Fix TX completion error handling

2020-11-24 Thread Thomas Falcon
TX completions received with an error return code are not being processed properly. When an error code is seen, do not proceed to the next completion before cleaning up the existing entry's data structures. Fixes: 032c5e828 ("Driver for IBM System i/p VNIC protocol") Signed-off-by

[PATCH net 1/2] ibmvnic: Ensure that SCRQ entry reads are correctly ordered

2020-11-24 Thread Thomas Falcon
correct descriptor entry is checked and after reading the SCRQ descriptor to ensure the entire descriptor is read before processing. Fixes: 032c5e828 ("Driver for IBM System i/p VNIC protocol") Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 8 1 file

Re: [PATCH net 1/2] ibmvnic: Ensure that SCRQ entry reads are correctly ordered

2020-11-25 Thread Thomas Falcon
On 11/24/20 11:43 PM, Michael Ellerman wrote: Thomas Falcon writes: Ensure that received Subordinate Command-Response Queue (SCRQ) entries are properly read in order by the driver. These queues are used in the ibmvnic device to process RX buffer and TX completion descriptors. dma_rmb barriers

[PATCH net-next 01/12] ibmvnic: Ensure that subCRQ entry reads are ordered

2020-11-12 Thread Thomas Falcon
Ensure that received Subordinate Command-Response Queue entries are properly read in order by the driver. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm

[PATCH net-next 04/12] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls

2020-11-12 Thread Thomas Falcon
per TX descriptor. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 151 + 1 file changed, 91 insertions(+), 60 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 524020691ef8..0f6aba760d65

[PATCH net-next 11/12] ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers

2020-11-12 Thread Thomas Falcon
From: "Dwip N. Banerjee" Take advantage of the additional optimizations in netdev_alloc_skb when allocating socket buffers to be used for packet reception. Signed-off-by: Dwip N. Banerjee --- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[PATCH net-next 07/12] ibmvnic: Clean up TX error handling and statistics tracking

2020-11-12 Thread Thomas Falcon
Update error handling code in ibmvnic_xmit to be more readable and remove unused statistics counters. Also record statistics when TX completions are received to improve accuracy. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 38 ++ drivers/net

[PATCH net-next 06/12] ibmvnic: Clean up TX code and TX buffer data structure

2020-11-12 Thread Thomas Falcon
Remove unused and superfluous code and members in existing TX implementation and data structures. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 31 +++--- drivers/net/ethernet/ibm/ibmvnic.h | 8 2 files changed, 11 insertions(+), 28

[PATCH net-next 05/12] ibmvnic: Fix TX completion error handling

2020-11-12 Thread Thomas Falcon
m i/p VNIC protocol") Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 0f6aba760d65..c9437b2d1aa8 100644 --- a/drivers/n

[PATCH net-next 00/12] ibmvnic: Performance improvements and other updates

2020-11-12 Thread Thomas Falcon
polling routine ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers ibmvnic: Do not replenish RX buffers after every polling loop Thomas Falcon (8): ibmvnic: Ensure that subCRQ entry reads are ordered ibmvnic: Introduce indirect subordinate Command Response Queue b

[PATCH net-next 02/12] ibmvnic: Introduce indirect subordinate Command Response Queue buffer

2020-11-12 Thread Thomas Falcon
This patch introduces the infrastructure to send batched subordinate Command Response Queue descriptors, which are used by the ibmvnic driver to send TX frame and RX buffer descriptors. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 19 +++ drivers/net

[PATCH net-next 10/12] ibmvnic: Correctly re-enable interrupts in NAPI polling routine

2020-11-12 Thread Thomas Falcon
From: "Dwip N. Banerjee" If the current NAPI polling loop exits without completing it's budget, only re-enable interrupts if there are no entries remaining in the queue and napi_complete_done is successful. If there are entries remaining on the queue that were missed, restart the polling loop. S

[PATCH net-next 12/12] ibmvnic: Do not replenish RX buffers after every polling loop

2020-11-12 Thread Thomas Falcon
From: "Dwip N. Banerjee" Reduce the amount of time spent replenishing RX buffers by only doing so once available buffers has fallen under a certain threshold, in this case half of the total number of buffers, or if the polling loop exits before the packets processed is less than its budget. Sign

[PATCH net-next 09/12] ibmvnic: Ensure that device queue memory is cache-line aligned

2020-11-12 Thread Thomas Falcon
From: "Dwip N. Banerjee" PCI bus slowdowns were observed on IBM VNIC devices as a result of partial cache line writes and non-cache aligned full cache line writes. Ensure that packet data buffers are cache-line aligned to avoid these slowdowns. Signed-off-by: Dwip N. Banerjee --- drivers/net/e

[PATCH net-next 03/12] ibmvnic: Introduce batched RX buffer descriptor transmission

2020-11-12 Thread Thomas Falcon
: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 57 +++--- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index dd9ca06f355b..524020691ef8 100644 --- a/drivers/net/ethernet

[PATCH net-next 08/12] ibmvnic: Remove send_subcrq function

2020-11-12 Thread Thomas Falcon
It is not longer used, so remove it. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 34 -- 1 file changed, 34 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 2c24d4774457..b2ca34e94078

Re: [PATCH net-next 02/12] ibmvnic: Introduce indirect subordinate Command Response Queue buffer

2020-11-16 Thread Thomas Falcon
On 11/14/20 5:35 PM, Jakub Kicinski wrote: On Thu, 12 Nov 2020 13:09:57 -0600 Thomas Falcon wrote: This patch introduces the infrastructure to send batched subordinate Command Response Queue descriptors, which are used by the ibmvnic driver to send TX frame and RX buffer descriptors. Signed

Re: [PATCH net-next 01/12] ibmvnic: Ensure that subCRQ entry reads are ordered

2020-11-16 Thread Thomas Falcon
On 11/14/20 5:35 PM, Jakub Kicinski wrote: On Thu, 12 Nov 2020 13:09:56 -0600 Thomas Falcon wrote: Ensure that received Subordinate Command-Response Queue entries are properly read in order by the driver. Signed-off-by: Thomas Falcon Are you sure this is not a bug fix? Yes, I guess it does

Re: [PATCH net-next 04/12] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls

2020-11-16 Thread Thomas Falcon
On 11/14/20 5:46 PM, Jakub Kicinski wrote: On Thu, 12 Nov 2020 13:09:59 -0600 Thomas Falcon wrote: Include support for the xmit_more feature utilizing the H_SEND_SUB_CRQ_INDIRECT hypervisor call which allows the sending of multiple subordinate Command Response Queue descriptors in one

[PATCH net-next] ibmvnic: Fix use-after-free of VNIC login response buffer

2020-08-21 Thread Thomas Falcon
f9915 eb9e0ca0 eabe0900 393c0010 3ab50048 <7fa04c2c> 7fba07b4 7b431764 7b4917a0 ---[ end trace fbc5949a28e103bd ]--- Fixes: f3ae59c0c015 ("ibmvnic: store RX and TX subCRQ handle array in ibmvnic_adapter struct") Signed-off-by: Thomas Falcon --- drivers/net/ethern

[PATCH net] ibmvnic: Clean actual number of RX or TX pools

2018-04-20 Thread Thomas Falcon
Avoid using value stored in the login response buffer when cleaning TX and RX buffer pools since these could be inconsistent depending on the device state. Instead use the field in the driver's private data that tracks the number of active pools. Signed-off-by: Thomas Falcon --- driver

Re: [PATCH net-next] ibmvnic: Potential NULL dereference in clean_one_tx_pool()

2018-03-23 Thread Thomas Falcon
On 03/23/2018 06:36 AM, Dan Carpenter wrote: > There is an && vs || typo here, which potentially leads to a NULL > dereference. Thanks for catching that! > > Fixes: e9e1e97884b7 ("ibmvnic: Update TX pool cleaning routine") > Signed-off-by: Dan Carpenter > > diff --git a/drivers/net/ethernet/ibm/

Re: [PATCH net v2] ibmveth: Convert multicast list size for little-endian system

2019-08-14 Thread Thomas Falcon
On 8/13/19 9:43 PM, Jakub Kicinski wrote: On Mon, 12 Aug 2019 16:13:06 -0500, Thomas Falcon wrote: The ibm,mac-address-filters property defines the maximum number of addresses the hypervisor's multicast filter list can support. It is encoded as a big-endian integer in the OF device tree

[PATCH net] ibmvnic: Unmap DMA address of TX descriptor buffers after use

2019-08-14 Thread Thomas Falcon
ndled. Reported-by: Abdul Haleem Tested-by: Devesh K. Singh Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 11 ++- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 81a05ea

[PATCH] ibmvnic: Move debug printk out of spinlock

2019-03-27 Thread Thomas Falcon
Move this print statement out of the reset queue spinlock in case it sleeps. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index

Re: [PATCH net-next] ibmvnic: Add device identification to requested IRQs

2019-04-25 Thread Thomas Falcon
ntini --- Reviewed-by: Thomas Falcon Thanks, Murilo! drivers/net/ethernet/ibm/ibmvnic.c | 13 + drivers/net/ethernet/ibm/ibmvnic.h | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c

[PATCH net] net/ibmvnic: Update MAC address settings after adapter reset

2019-05-09 Thread Thomas Falcon
current MAC address settings following any adapter initialization or resets. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 53 -- drivers/net/ethernet/ibm/ibmvnic.h | 2 -- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a

[PATCH net] net/ibmvnic: Update carrier state after link state change

2019-05-09 Thread Thomas Falcon
update by the underlying adapter. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index faee60914874..13c9562e2cc6 100644 --- a

[PATCH net] ibmvnic: Fix calculation of number of TX header descriptors

2017-10-16 Thread Thomas Falcon
This patch correctly sets the number of additional header descriptors that will be sent in an indirect SCRQ entry. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/ibm

[PATCH net-next 0/3] ibmvnic: Enable SG and TSO feature support

2017-10-17 Thread Thomas Falcon
large increase in throughput with TX speed increasing from 1Gb/s to 9Gb/s in our initial test runs. Thomas Falcon (3): ibmvnic: Enable scatter-gather support ibmvnic: Enable TSO support ibmvnic: Let users change net device features drivers/net/ethernet/ibm/ibmvnic.c | 81

[PATCH net-next 1/3] ibmvnic: Enable scatter-gather support

2017-10-17 Thread Thomas Falcon
This patch enables scatter gather support. Since there is no HW/FW scatter-gather support at this time, the driver needs to loop through each fragment and copy it to a contiguous, pre-mapped buffer entry. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 23

[PATCH net-next 2/3] ibmvnic: Enable TSO support

2017-10-17 Thread Thomas Falcon
This patch enables TSO support. It includes additional buffers reserved exclusively for large packets. Throughput is greatly increased with TSO enabled, from about 1 Gb/s to 9 Gb/s on our test systems. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 56

[PATCH net-next 3/3] ibmvnic: Let users change net device features

2017-10-17 Thread Thomas Falcon
Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index aedb81c..b991703 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm

[PATCH net] ibmvnic: Revise RX/TX queue error messages

2018-07-13 Thread Thomas Falcon
: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 39 ++ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index d0e196b..c5096368 100644 --- a/drivers/net/ethernet/ibm

[PATCH 0/4 net-next] ibmvnic: Fix VLAN and other device errata

2018-03-09 Thread Thomas Falcon
error that can occur when some devices attempt to transmit small packets. The other fixes are GSO related. Some devices cannot handle a smaller MSS or a packet with a single segment, so disable GSO in those cases. Thomas Falcon (4): ibmvnic: Account for VLAN tag in L2 Header descriptor ibmvnic

[PATCH 1/4 net-next] ibmvnic: Account for VLAN tag in L2 Header descriptor

2018-03-09 Thread Thomas Falcon
If a VLAN tag is present in the Ethernet header, account for that when providing the L2 header to firmware. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers

[PATCH 2/4 net-next] ibmvnic: Account for VLAN header length in TX buffers

2018-03-09 Thread Thomas Falcon
The extra four bytes of a VLAN packet was throwing off TX buffer entry values used by the driver. Account for those bytes when in buffer size and buffer entry calculations Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 6 +++--- 1 file changed, 3 insertions(+), 3

[PATCH 4/4 net-next] ibmvnic: Handle TSO backing device errata

2018-03-09 Thread Thomas Falcon
TSO packets with one segment or with an MSS less than 224 can cause errors on some backing devices, so disable GSO in those cases. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/ethernet/ibm

[PATCH 3/4 net-next] ibmvnic: Pad small packets to minimum MTU size

2018-03-09 Thread Thomas Falcon
Some backing devices cannot handle small packets well, so pad any small packets to avoid that. It was recommended that the VNIC driver should not send packets smaller than the minimum MTU value provided by firmware, so pad small packets to be at least that long. Signed-off-by: Thomas Falcon

Re: [PATCH 3/4 net-next] ibmvnic: Pad small packets to minimum MTU size

2018-03-12 Thread Thomas Falcon
On 03/11/2018 09:56 PM, David Miller wrote: > From: Thomas Falcon > Date: Fri, 9 Mar 2018 13:23:56 -0600 > >> +/* For some backing devices, mishandling of small packets >> + * can result in a loss of connection or TX stall. Device >> + * architects recomme

[PATCH net-next v2 0/4] ibmvnic: Fix VLAN and other device errata

2018-03-12 Thread Thomas Falcon
error that can occur when some devices attempt to transmit small packets. The other fixes are GSO related. Some devices cannot handle a smaller MSS or a packet with a single segment, so disable GSO in those cases. v2: Fix style mistake (unneeded brackets) in patch 3/4 Thomas Falcon (4): ibmvnic

[PATCH net-next v2 3/4] ibmvnic: Pad small packets to minimum MTU size

2018-03-12 Thread Thomas Falcon
Some backing devices cannot handle small packets well, so pad any small packets to avoid that. It was recommended that the VNIC driver should not send packets smaller than the minimum MTU value provided by firmware, so pad small packets to be at least that long. Signed-off-by: Thomas Falcon

[PATCH net-next v2 4/4] ibmvnic: Handle TSO backing device errata

2018-03-12 Thread Thomas Falcon
TSO packets with one segment or with an MSS less than 224 can cause errors on some backing devices, so disable GSO in those cases. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/ethernet/ibm

[PATCH net-next v2 1/4] ibmvnic: Account for VLAN tag in L2 Header descriptor

2018-03-12 Thread Thomas Falcon
If a VLAN tag is present in the Ethernet header, account for that when providing the L2 header to firmware. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers

[PATCH net-next v2 2/4] ibmvnic: Account for VLAN header length in TX buffers

2018-03-12 Thread Thomas Falcon
The extra four bytes of a VLAN packet was throwing off TX buffer entry values used by the driver. Account for those bytes when in buffer size and buffer entry calculations Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 6 +++--- 1 file changed, 3 insertions(+), 3

Re: [PATCH net-next v2 0/4] ibmvnic: Fix VLAN and other device errata

2018-03-12 Thread Thomas Falcon
On 03/12/2018 11:56 AM, David Miller wrote: > From: Thomas Falcon > Date: Mon, 12 Mar 2018 11:51:01 -0500 > >> This patch series contains fixes for VLAN and other backing hardware >> errata. The VLAN fixes are mostly to account for the additional four >> bytes VLAN h

Re: [PATCH net-next v2 0/4] ibmvnic: Fix VLAN and other device errata

2018-03-12 Thread Thomas Falcon
On 03/12/2018 07:59 PM, David Miller wrote: > From: Thomas Falcon > Date: Mon, 12 Mar 2018 17:07:38 -0500 > >> On 03/12/2018 11:56 AM, David Miller wrote: >>> From: Thomas Falcon >>> Date: Mon, 12 Mar 2018 11:51:01 -0500 >>> >>>> This

[PATCH net-next] ibmvnic: Fix recent errata commit

2018-03-12 Thread Thomas Falcon
the workaround was not needed. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index e02d3b9..6ff43d7 100644 --- a/drivers/net

[PATCH net-next 2/6] ibmvnic: Update and clean up reset TX pool routine

2018-03-13 Thread Thomas Falcon
Update TX pool reset routine to accommodate new TSO pool array. Introduce a function that resets one TX pool, and use that function to initialize each pool in both pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 45 +- 1

[PATCH net-next 0/6] ibmvnic: Update TX pool and TX routines

2018-03-13 Thread Thomas Falcon
buffers to prevent possible data corruption in case an invalid buffer entry is used. Thomas Falcon (6): ibmvnic: Generalize TX pool structure ibmvnic: Update and clean up reset TX pool routine ibmvnic: Update release RX pool routine ibmvnic: Update TX pool initialization routine ibmvnic

[PATCH net-next 3/6] ibmvnic: Update release RX pool routine

2018-03-13 Thread Thomas Falcon
Introduce function that frees one TX pool. Use that to release each pool in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net

[PATCH net-next 1/6] ibmvnic: Generalize TX pool structure

2018-03-13 Thread Thomas Falcon
TX pool array for TSO. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.h | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.h b/drivers/net/ethernet/ibm/ibmvnic.h index 099c89d..a2e21b3 100644 --- a/drivers/net/ethernet

[PATCH net-next 5/6] ibmvnic: Update TX and TX completion routines

2018-03-13 Thread Thomas Falcon
to one if the packet uses the TSO pool. On completion, unset the bit and use the correlator index to release the buffer pool entry. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 55 +++--- drivers/net/ethernet/ibm/ibmvnic.h | 1 + 2 files

[PATCH net-next 6/6] ibmvnic: Improve TX buffer accounting

2018-03-13 Thread Thomas Falcon
index and set the free map entry to its original value. This should also be done if the DMA map fails. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 30 +- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/ibm

[PATCH net-next 4/6] ibmvnic: Update TX pool initialization routine

2018-03-13 Thread Thomas Falcon
Introduce function that initializes one TX pool. Use that to create each pool entry in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 90 -- 1 file changed, 48 insertions(+), 42 deletions

Re: [PATCH net-next 0/6] ibmvnic: Update TX pool and TX routines

2018-03-14 Thread Thomas Falcon
On 03/14/2018 01:03 PM, David Miller wrote: > From: Thomas Falcon > Date: Tue, 13 Mar 2018 19:34:17 -0500 > >> This patch restructures the TX pool data structure and provides a >> separate TX pool array for TSO transmissions. This is already used >> in some way due

[PATCH net-next v3 7/7] ibmvnic: Update TX pool cleaning routine

2018-03-15 Thread Thomas Falcon
Update routine that cleans up any outstanding transmits that have not received completions when the device needs to close. Introduces a helper function that cleans one TX pool to make code more readable. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 40

[PATCH net-next v3 4/7] ibmvnic: Update TX pool initialization routine

2018-03-15 Thread Thomas Falcon
Introduce function that initializes one TX pool. Use that to create each pool entry in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 90 -- 1 file changed, 48 insertions(+), 42 deletions

[PATCH net-next v3 0/7] ibmvnic: Update TX pool and TX routines

2018-03-15 Thread Thomas Falcon
buffers to prevent possible data corruption in case an invalid buffer entry is used. v3: Forgot to update TX pool cleaning function to handle new data structures. Included 7th patch for that. v2: Fix typo in 3/6 commit subject line Thomas Falcon (7): ibmvnic: Generalize TX pool structure ibmvnic

[PATCH net-next v3 5/7] ibmvnic: Update TX and TX completion routines

2018-03-15 Thread Thomas Falcon
to one if the packet uses the TSO pool. On completion, unset the bit and use the correlator index to release the buffer pool entry. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 55 +++--- drivers/net/ethernet/ibm/ibmvnic.h | 1 + 2 files

[PATCH net-next v3 2/7] ibmvnic: Update and clean up reset TX pool routine

2018-03-15 Thread Thomas Falcon
Update TX pool reset routine to accommodate new TSO pool array. Introduce a function that resets one TX pool, and use that function to initialize each pool in both pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 45 +- 1

[PATCH net-next v3 1/7] ibmvnic: Generalize TX pool structure

2018-03-15 Thread Thomas Falcon
TX pool array for TSO. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.h | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.h b/drivers/net/ethernet/ibm/ibmvnic.h index 099c89d..a2e21b3 100644 --- a/drivers/net/ethernet

[PATCH net-next v3 3/7] ibmvnic: Update release TX pool routine

2018-03-15 Thread Thomas Falcon
Introduce function that frees one TX pool. Use that to release each pool in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net

[PATCH net-next v3 6/7] ibmvnic: Improve TX buffer accounting

2018-03-15 Thread Thomas Falcon
index and set the free map entry to its original value. This should also be done if the DMA map fails. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 30 +- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/ibm

Re: [PATCH net-next v3 0/7] ibmvnic: Update TX pool and TX routines

2018-03-15 Thread Thomas Falcon
On 03/15/2018 11:02 AM, Thomas Falcon wrote: > This patch restructures the TX pool data structure and provides a > separate TX pool array for TSO transmissions. This is already used > in some way due to our unique DMA situation, namely that we cannot > use single DMA mappings for

[PATCH net-next v4 1/7] ibmvnic: Generalize TX pool structure

2018-03-15 Thread Thomas Falcon
TX pool array for TSO. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.h | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.h b/drivers/net/ethernet/ibm/ibmvnic.h index 099c89d49945..a2e21b39074f 100644 --- a/drivers/net

[PATCH net-next v4 3/7] ibmvnic: Update release TX pool routine

2018-03-15 Thread Thomas Falcon
Introduce function that frees one TX pool. Use that to release each pool in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net

[PATCH net-next v4 0/7] ibmvnic: Update TX pool and TX routines

2018-03-15 Thread Thomas Falcon
to handle new data structures. Included 7th patch for that. v2: Fix typo in 3/6 commit subject line Thomas Falcon (7): ibmvnic: Generalize TX pool structure ibmvnic: Update and clean up reset TX pool routine ibmvnic: Update release TX pool routine ibmvnic: Update TX pool initialization

[PATCH net-next v4 5/7] ibmvnic: Update TX and TX completion routines

2018-03-15 Thread Thomas Falcon
to one if the packet uses the TSO pool. On completion, unset the bit and use the correlator index to release the buffer pool entry. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 55 +++--- drivers/net/ethernet/ibm/ibmvnic.h | 1 + 2 files

[PATCH net-next v4 7/7] ibmvnic: Update TX pool cleaning routine

2018-03-15 Thread Thomas Falcon
Update routine that cleans up any outstanding transmits that have not received completions when the device needs to close. Introduces a helper function that cleans one TX pool to make code more readable. Signed-off-by: Thomas Falcon --- v4: Update to use the number of buffers in the TX pool

[PATCH net-next v4 4/7] ibmvnic: Update TX pool initialization routine

2018-03-15 Thread Thomas Falcon
Introduce function that initializes one TX pool. Use that to create each pool entry in both the standard TX pool and TSO pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 90 -- 1 file changed, 48 insertions(+), 42 deletions

[PATCH net-next v4 2/7] ibmvnic: Update and clean up reset TX pool routine

2018-03-15 Thread Thomas Falcon
Update TX pool reset routine to accommodate new TSO pool array. Introduce a function that resets one TX pool, and use that function to initialize each pool in both pool arrays. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 45 +- 1

[PATCH net-next v4 6/7] ibmvnic: Improve TX buffer accounting

2018-03-15 Thread Thomas Falcon
index and set the free map entry to its original value. This should also be done if the DMA map fails. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.c | 30 +- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/ibm

Re: [PATCH net-next v3 1/7] ibmvnic: Generalize TX pool structure

2018-03-16 Thread Thomas Falcon
On 03/16/2018 11:52 AM, David Miller wrote: > From: Thomas Falcon > Date: Thu, 15 Mar 2018 11:02:37 -0500 > >> Remove some unused fields in the structure and include values >> describing the individual buffer size and number of buffers in >> a TX pool. This allows us

[PATCH net-next v5 0/8] ibmvnic: Update TX pool and TX routines

2018-03-16 Thread Thomas Falcon
of buffers instead of the respective field in the tx pool data structure v3: Forgot to update TX pool cleaning function to handle new data structures. Included 7th patch for that. v2: Fix typo in 3/6 commit subject line Thomas Falcon (8): ibmvnic: Generalize TX pool structure ibmvnic

[PATCH net-next v5 8/8] ibmvnic: Remove unused TSO resources in TX pool structure

2018-03-16 Thread Thomas Falcon
Finally, remove the TSO-specific fields in the TX pool strcutures. These are no longer needed with the introduction of separate buffer pools for TSO transmissions. Signed-off-by: Thomas Falcon --- drivers/net/ethernet/ibm/ibmvnic.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers

  1   2   3   4   >