[GIT PULL] NTB changes for 4.2

From: Jon Mason
Date: Sun Jul 05 2015 - 04:28:59 EST


Hi Linus,
Please consider pulling the following for inclusion into 4.2. It
includes a pretty significant reworking of the NTB core code, but has
already produced some significant perf improvements.

Thanks,
Jon

---

The following changes since commit d8133356e99713bd023b229de107ddd6dd6d375a:

Merge tag 'pci-v4.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci (2015-06-23 13:41:24 -0700)

are available in the git repository at:

git://github.com/jonmason/ntb tags/ntb-4.2

for you to fetch changes up to bf44fe4671f97ee17d178e08c2d3b346188d062b:

NTB: Add split BAR output for debugfs stats (2015-07-04 14:09:32 -0400)

----------------------------------------------------------------
A very significant modification to NTB in this series.

An abstraction layer was added to allow the hardware and clients to be
easily added. This required rewriting the NTB transport layer for this
abstraction layer. This modification will allow future
"high performance" NTB clients.

In addition to this change, a number of performance modifications were
added. These changes include NUMA enablement, using CPU memcpy instead
of asyncdma, and modification of NTB layer MTU size.

----------------------------------------------------------------
Allen Hubbe (12):
NTB: Move files in preparation for NTB abstraction
NTB: Add NTB hardware abstraction layer
NTB: Split ntb_hw_intel and ntb_transport drivers
NTB: Differentiate transport link down messages
NTB: Do not advance transport RX on link down
NTB: Reset transport QP link stats on down
NTB: Add parameters for Intel SNB B2B addresses
NTB: Add ping pong test client
NTB: Add tool test client
NTB: Rate limit ntb_qp_link_work
NTB: Use NUMA memory and DMA chan in transport
NTB: Use NUMA memory in Intel driver

Dave Jiang (10):
NTB: Read peer info from local SPAD in transport
NTB: Enable link for Intel root port mode in probe
NTB: Check the device ID to set errata flags
NTB: Improve performance with write combining
NTB: Default to CPU memcpy for performance
NTB: Rename Intel code names to platform names
NTB: Increase transport MTU to 64k from 16k
NTB: Print driver name and version in module init
NTB: Change WARN_ON_ONCE to pr_warn_once on unsafe
NTB: Add split BAR output for debugfs stats

Documentation/ntb.txt | 127 ++
MAINTAINERS | 12 +-
drivers/net/Kconfig | 4 +-
drivers/net/ntb_netdev.c | 58 +-
drivers/ntb/Kconfig | 39 +-
drivers/ntb/Makefile | 5 +-
drivers/ntb/hw/Kconfig | 1 +
drivers/ntb/hw/Makefile | 1 +
drivers/ntb/hw/intel/Kconfig | 7 +
drivers/ntb/hw/intel/Makefile | 1 +
drivers/ntb/hw/intel/ntb_hw_intel.c | 2274 +++++++++++++++++++++++++++++++++++
drivers/ntb/hw/intel/ntb_hw_intel.h | 342 ++++++
drivers/ntb/ntb.c | 251 ++++
drivers/ntb/ntb_hw.c | 1895 -----------------------------
drivers/ntb/ntb_hw.h | 256 ----
drivers/ntb/ntb_regs.h | 177 ---
drivers/ntb/ntb_transport.c | 1029 +++++++++-------
drivers/ntb/test/Kconfig | 19 +
drivers/ntb/test/Makefile | 2 +
drivers/ntb/test/ntb_pingpong.c | 250 ++++
drivers/ntb/test/ntb_tool.c | 556 +++++++++
include/linux/ntb.h | 970 ++++++++++++++-
include/linux/ntb_transport.h | 85 ++
23 files changed, 5545 insertions(+), 2816 deletions(-)
create mode 100644 Documentation/ntb.txt
create mode 100644 drivers/ntb/hw/Kconfig
create mode 100644 drivers/ntb/hw/Makefile
create mode 100644 drivers/ntb/hw/intel/Kconfig
create mode 100644 drivers/ntb/hw/intel/Makefile
create mode 100644 drivers/ntb/hw/intel/ntb_hw_intel.c
create mode 100644 drivers/ntb/hw/intel/ntb_hw_intel.h
create mode 100644 drivers/ntb/ntb.c
delete mode 100644 drivers/ntb/ntb_hw.c
delete mode 100644 drivers/ntb/ntb_hw.h
delete mode 100644 drivers/ntb/ntb_regs.h
create mode 100644 drivers/ntb/test/Kconfig
create mode 100644 drivers/ntb/test/Makefile
create mode 100644 drivers/ntb/test/ntb_pingpong.c
create mode 100644 drivers/ntb/test/ntb_tool.c
create mode 100644 include/linux/ntb_transport.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/