#
a9f2fbc4 |
| 31-Jan-2017 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix inconsistent link status
Querying the link status can end up being in an inconsistent state, like the port is reporting speed although it is down.
For this case another query is sched
net/mlx5: fix inconsistent link status
Querying the link status can end up being in an inconsistent state, like the port is reporting speed although it is down.
For this case another query is scheduled.
A race condition can occur between the scheduled query and link status interrupt handlers.
When the scheduled query by-pass interrupt handlers, the link status will be stuck in an inconsistent state.
This patch addresses the race condition by not blocking link status queries in case delayed query is used.
Fixes: 198a3c339a8f ("mlx5: handle link status interrupts") Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
2c960a51 |
| 11-Jan-2017 |
Matthieu Ternisien d'Ouville <matthieu.tdo@6wind.com> |
net/mlx: remove link update lock
Retrieving link status information through the link update callback should be quick and non-blocking.
Mellanox PMDs retrieve this information through ioctl() calls
net/mlx: remove link update lock
Retrieving link status information through the link update callback should be quick and non-blocking.
Mellanox PMDs retrieve this information through ioctl() calls on the related kernel netdevice. This appears to take a long time to complete and may cause significant slowdowns in applications.
While these system calls cannot be accelerated, removing the lock on the private structure allows applications to perform other control operations from separate threads in the meantime. This function remains safe without locking as it does not write the private structure, it is only used to retrieve the name of the netdevice.
Signed-off-by: Matthieu Ternisien d'Ouville <matthieu.tdo@6wind.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
528a9fbe |
| 06-Jan-2017 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: support ConnectX-5 devices
Add PCI device ID for ConnectX-5 and enable multi-packet send for PF and VF along with changing documentation and release note.
Signed-off-by: Yongseok Koh <ysk
net/mlx5: support ConnectX-5 devices
Add PCI device ID for ConnectX-5 and enable multi-packet send for PF and VF along with changing documentation and release note.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
eac901ce |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblun
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
ae34410a |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shr
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
18840871 |
| 26-Oct-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix support for newer link speeds
Not all speed capabilities can be reported properly before Linux 4.8 (25G, 50G and 100G speeds are missing), moreover the API to retrieve them only exists
net/mlx5: fix support for newer link speeds
Not all speed capabilities can be reported properly before Linux 4.8 (25G, 50G and 100G speeds are missing), moreover the API to retrieve them only exists since Linux 4.5, this commit thus implements compatibility code for all versions.
Fixes: e274f5732225 ("ethdev: add speed capabilities")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
75ef62a9 |
| 26-Oct-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix link speed capability information
Make hard-coded values dynamic to return correct link speed capabilities (not all ConnectX-4 NICs support everything).
Fixes: e274f5732225 ("ethdev:
net/mlx5: fix link speed capability information
Make hard-coded values dynamic to return correct link speed capabilities (not all ConnectX-4 NICs support everything).
Fixes: e274f5732225 ("ethdev: add speed capabilities")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
69491883 |
| 17-Oct-2016 |
Olivier Gournet <ogournet@corp.free.fr> |
net/mlx5: fix initialization in secondary process
The changes introduced by previous commits (ones in fixes lines) made secondaries attempt to reinitialize the Tx queue structures of the primary ins
net/mlx5: fix initialization in secondary process
The changes introduced by previous commits (ones in fixes lines) made secondaries attempt to reinitialize the Tx queue structures of the primary instead of their own, for which they also do not allocate enough memory, leading to crashes.
Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path") Fixes: 21c8bb4928c9 ("net/mlx5: split Tx queue structure")
Signed-off-by: Olivier Gournet <ogournet@corp.free.fr> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
0d1e2f8d |
| 17-Oct-2016 |
Olga Shern <olgas@mellanox.com> |
net/mlx5: fix link status report
This commit fixes link status report on device start up when lcs callback is configured.
Fixes: 62072098b54e ("mlx5: support setting link up or down")
Signed-off-b
net/mlx5: fix link status report
This commit fixes link status report on device start up when lcs callback is configured.
Fixes: 62072098b54e ("mlx5: support setting link up or down")
Signed-off-by: Olga Shern <olgas@mellanox.com>
show more ...
|
#
5ddbf77e |
| 14-Oct-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix hash key size retrieval
Return RSS key size in struct rte_eth_dev_info.
Fixes: 0f6f219e7919 ("app/testpmd: fix RSS hash key size")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6
net/mlx5: fix hash key size retrieval
Return RSS key size in struct rte_eth_dev_info.
Fixes: 0f6f219e7919 ("app/testpmd: fix RSS hash key size")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
c1ceaf3a |
| 10-Oct-2016 |
Bernard Iremonger <bernard.iremonger@intel.com> |
ethdev: add an argument to internal callback function
add cb_arg parameter to the _rte_eth_dev_callback_process function.
Adding a parameter to this function allows passing information to the appli
ethdev: add an argument to internal callback function
add cb_arg parameter to the _rte_eth_dev_callback_process function.
Adding a parameter to this function allows passing information to the application when an eth device event occurs such as a VF to PF message. This allows the application to decide if a particular function is permitted.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Signed-off-by: Alex Zelezniak <alexz@att.com>
show more ...
|
#
b4b12e55 |
| 20-Sep-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: reduce memory overhead of Rx/Tx descriptors
PMD uses only power of two number of descriptors, storing the number of elements in log2 helps to reduce the size of the container to store it.
net/mlx5: reduce memory overhead of Rx/Tx descriptors
PMD uses only power of two number of descriptors, storing the number of elements in log2 helps to reduce the size of the container to store it.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
fc5b160f |
| 19-Sep-2016 |
Bruce Richardson <bruce.richardson@intel.com> |
net/mlx: fix debug build with gcc 6.1
With recent gcc versions, e.g. gcc 6.1, compilation of mlx drivers with debug enabled produces lots of errors complaining that "pedantic" is not a warning level
net/mlx: fix debug build with gcc 6.1
With recent gcc versions, e.g. gcc 6.1, compilation of mlx drivers with debug enabled produces lots of errors complaining that "pedantic" is not a warning level that can be ignored.
error: ‘-pedantic’ is not an option that controls warnings [-Werror=pragmas] #pragma GCC diagnostic ignored "-pedantic" ^~~~~~~~~~~
These errors can be removed by changing the "-pedantic" to "-Wpedantic".
Fixes: 7fae69eeff13 ("mlx4: new poll mode driver") Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
0e8679fc |
| 14-Sep-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix inline logic
To improve performance the NIC expects for large packets to have a pointer to a cache aligned address, old inline code could break this assumption which hurts performance.
net/mlx5: fix inline logic
To improve performance the NIC expects for large packets to have a pointer to a cache aligned address, old inline code could break this assumption which hurts performance.
Fixes: 2a66cf378954 ("net/mlx5: support inline send")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
show more ...
|
#
f08b6e71 |
| 14-Sep-2016 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx5: fix Rx VLAN offload capability report
This capability is implemented but not reported.
Fixes: f3db9489188a ("mlx5: support Rx VLAN stripping")
Signed-off-by: Adrien Mazarguil <adrien.maz
net/mlx5: fix Rx VLAN offload capability report
This capability is implemented but not reported.
Fixes: f3db9489188a ("mlx5: support Rx VLAN stripping")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
3d04e050 |
| 04-Jul-2016 |
Olivier Matz <olivier.matz@6wind.com> |
net/mlx5: fix API comment of link set function
Fixes: 62072098b54e ("mlx5: support setting link up or down")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Adrien Mazarguil <adrien.
net/mlx5: fix API comment of link set function
Fixes: 62072098b54e ("mlx5: support setting link up or down")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
33242e3e |
| 04-Jul-2016 |
Olivier Matz <olivier.matz@6wind.com> |
net/mlx: fix setting interface flags
According to the documentation, the function priv_set_flags(priv, keep, flags) should not modify the flags in "keep" mask.
So 'flags' argument should be masked
net/mlx: fix setting interface flags
According to the documentation, the function priv_set_flags(priv, keep, flags) should not modify the flags in "keep" mask.
So 'flags' argument should be masked with '~keep' before ORing it with the previous flags value.
This avoids messing up the kernel interface flags when calling priv_set_flags(priv, ~IFF_UP, ~IFF_UP) in priv_set_link():
$ ip link 26: eth0: BROADCAST,MULTICAST,NOARP,ALLMULTI,PROMISC,DEBUG,\ DYNAMIC,AUTOMEDIA,PORTSEL,NOTRAILERS
Fixes: 7fae69eeff13 ("mlx4: new poll mode driver") Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Reported-by: Fengtian Guo <fengtian.guo@6wind.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
36351ea3 |
| 14-Jun-2016 |
Ferruh Yigit <ferruh.yigit@intel.com> |
net/mlx: fix build with icc
Compilation errors: mlx4: drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type mixed with another type priv->intr_handle.type = 0;
net/mlx: fix build with icc
Compilation errors: mlx4: drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type mixed with another type priv->intr_handle.type = 0; ^ mlx5: drivers/net/mlx5/mlx5_rxq.c(282): error #188: enumerated type mixed with another type enum hash_rxq_type type = 0; ^ and more same type of error. Fix these by assigning enum values rather than integer values to the enum variables
Fixes: c4da6caa426d ("mlx4: handle link status interrupts") Fixes: 198a3c339a8f ("mlx5: handle link status interrupts") Fixes: 0d2186743d62 ("mlx5: manage all special flow types at once") Fixes: 612ad38209f7 ("mlx5: fix hash Rx queue type in RSS mode") Fixes: 083c2dd31776 ("mlx5: refactor special flows handling")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
9964b965 |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: re-add Rx scatter support
This commit brings back Rx scatter and related support by the MTU update function. The maximum number of segments per packet is not a fixed value anymore (previou
net/mlx5: re-add Rx scatter support
This commit brings back Rx scatter and related support by the MTU update function. The maximum number of segments per packet is not a fixed value anymore (previously MLX5_PMD_SGE_WR_N, set to 4 by default) as it caused performance issues when fewer segments were actually needed as well as limitations on the maximum packet size that could be received with the default mbuf size (supporting at most 8576 bytes).
These limitations are now lifted as the number of SGEs is derived from the MTU (which implies MRU) at queue initialization and during MTU update.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Vasily Philipov <vasilyf@mellanox.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
230189d9 |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: support multi-packet send
This feature enables the TX burst function to emit up to 5 packets using only two work queue entries (WQEs) on devices that support it. Saves PCI bandwidth and im
net/mlx5: support multi-packet send
This feature enables the TX burst function to emit up to 5 packets using only two work queue entries (WQEs) on devices that support it. Saves PCI bandwidth and improves performance.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Olga Shern <olgas@mellanox.com>
show more ...
|
#
2a66cf37 |
| 24-Jun-2016 |
Yaacov Hazan <yaacovh@mellanox.com> |
net/mlx5: support inline send
Implement send inline feature which copies packet data directly into work queue entries (WQEs) for improved latency. The maximum packet size and the minimum number of T
net/mlx5: support inline send
Implement send inline feature which copies packet data directly into work queue entries (WQEs) for improved latency. The maximum packet size and the minimum number of Tx queues to qualify for inline send are user-configurable.
This feature is effective when HW causes a performance bottleneck.
Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
1d88ba17 |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: refactor Tx data path
Bypass Verbs to improve Tx performance.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by
net/mlx5: refactor Tx data path
Bypass Verbs to improve Tx performance.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
6218063b |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: refactor Rx data path
Bypass Verbs to improve RX performance.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by
net/mlx5: refactor Rx data path
Bypass Verbs to improve RX performance.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
show more ...
|
#
cdab90cb |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: add Tx/Rx burst function selection wrapper
These wrappers are meant to prevent code duplication later.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien M
net/mlx5: add Tx/Rx burst function selection wrapper
These wrappers are meant to prevent code duplication later.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
21c8bb49 |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: split Tx queue structure
To keep the data path as efficient as possible, move fields only useful to the control path into new structure txq_ctrl.
Signed-off-by: Nelio Laranjeiro <nelio.la
net/mlx5: split Tx queue structure
To keep the data path as efficient as possible, move fields only useful to the control path into new structure txq_ctrl.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|