Re: [pull request][for-next 0/7] Mellanox, mlx5 shared code updates 2018-02-21

2018-02-22 Thread Doug Ledford
On Thu, 2018-02-22 at 14:39 -0500, David Miller wrote:
> From: Saeed Mahameed 
> Date: Wed, 21 Feb 2018 12:13:47 -0800
> 
> > This series includes shared code updates for mlx5 core driver for both
> > netdev and rdma subsystems.  This series should be pulled to both
> > trees so we can continue netdev and rdma specific submissions separately.
> > 
> > For more information please see tag log below.
> > 
> > P.S. We expect two more shared code pull requests.
> > 
> > The series doesn't cause any conflict with the latest mlx5 net fixes
> > series.
> > 
> > Please pull and let me know if there's any issue,
> 
> Looks good to me, pulled into net-next, thanks.

Thanks, pulled into rdma-next.

-- 
Doug Ledford 
GPG KeyID: B826A3330E572FDD
Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

signature.asc
Description: This is a digitally signed message part


Re: [pull request][for-next 0/7] Mellanox, mlx5 shared code updates 2018-02-21

2018-02-22 Thread David Miller
From: Saeed Mahameed 
Date: Wed, 21 Feb 2018 12:13:47 -0800

> This series includes shared code updates for mlx5 core driver for both
> netdev and rdma subsystems.  This series should be pulled to both
> trees so we can continue netdev and rdma specific submissions separately.
> 
> For more information please see tag log below.
> 
> P.S. We expect two more shared code pull requests.
> 
> The series doesn't cause any conflict with the latest mlx5 net fixes
> series.
> 
> Please pull and let me know if there's any issue,

Looks good to me, pulled into net-next, thanks.


[pull request][for-next 0/7] Mellanox, mlx5 shared code updates 2018-02-21

2018-02-21 Thread Saeed Mahameed
Hi Dave & Doug,

This series includes shared code updates for mlx5 core driver for both
netdev and rdma subsystems.  This series should be pulled to both
trees so we can continue netdev and rdma specific submissions separately.

For more information please see tag log below.

P.S. We expect two more shared code pull requests.

The series doesn't cause any conflict with the latest mlx5 net fixes
series.

Please pull and let me know if there's any issue,

Thanks,
Saeed.

---

The following changes since commit 7928b2cbe55b2a410a0f5c1f154610059c57b1b2:

  Linux 4.16-rc1 (2018-02-11 15:04:29 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git 
tags/mlx5-updates-2018-02-21

for you to fetch changes up to 388ca8be00370db132464e27f745b8a0add19fcb:

  IB/mlx5: Implement fragmented completion queue (CQ) (2018-02-15 00:30:03 
-0800)


mlx5-updates-2018-02-21

This series includes shared code updates for mlx5 core driver for both
netdev and rdma subsystems.

By Saeed,
First six patches of the series are meant to address a performance issue
and should provide a performance boost for multi core IRQ interrupt hungry
workloads.  The issue is fixed in the first patch, all other patches are
meant to refactor the code in light of this fix.

The problem it comes to fix, is a shared spinlock accessed across all HCA
IRQs which protects the CQ database.  To solve this we simply move the CQ
database and its spinlock to be per EQ (IRQ), thus per core.

By Yonatan,
Fragmented completion queue (CQ) for RDMA,
core driver implementation to create fragmented CQ buffers rather than
one large contiguous memory buffer, the implementation scheme already
exist and used by the netdev CQs, the patch shares that code with the
rdma CQ creation flow and makes use of the new API in mlx5_ib driver.

Thanks,
Saeed.


Saeed Mahameed (6):
  net/mlx5: CQ Database per EQ
  net/mlx5: Add missing likely/unlikely hints to cq events
  net/mlx5: EQ add/del CQ API
  net/mlx5: CQ hold/put API
  net/mlx5: Move CQ completion and event forwarding logic to eq.c
  net/mlx5: Remove redundant EQ API exports

Yonatan Cohen (1):
  IB/mlx5: Implement fragmented completion queue (CQ)

 drivers/infiniband/hw/mlx5/cq.c|  64 +++-
 drivers/infiniband/hw/mlx5/mlx5_ib.h   |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/alloc.c|  37 ---
 drivers/net/ethernet/mellanox/mlx5/core/cq.c   | 116 +
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c|  11 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c   |  92 +++-
 drivers/net/ethernet/mellanox/mlx5/core/main.c |   8 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h|  21 
 drivers/net/ethernet/mellanox/mlx5/core/wq.c   |  18 ++--
 drivers/net/ethernet/mellanox/mlx5/core/wq.h   |  22 ++--
 include/linux/mlx5/cq.h|  14 ++-
 include/linux/mlx5/driver.h|  88 
 12 files changed, 279 insertions(+), 218 deletions(-)