From: Vladimir Sokolovsky Date: Tue, 28 Aug 2012 16:13:38 +0000 (+0300) Subject: RDMA/nes: Updated backports X-Git-Tag: vofed-3.5-x~42 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=e094ac6cdf09b155be3fd5e4af3a79112eaa625f;p=~emulex%2Fcompat-rdma.git RDMA/nes: Updated backports Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0001-ib_core-backport-dst_fetch_ha.patch b/patches/0001-ib_core-backport-dst_fetch_ha.patch index 1c76365..a7703dc 100644 --- a/patches/0001-ib_core-backport-dst_fetch_ha.patch +++ b/patches/0001-ib_core-backport-dst_fetch_ha.patch @@ -1,7 +1,7 @@ -From 0038f903e7318e5e0ef15949acd78290b9c665a3 Mon Sep 17 00:00:00 2001 +From aab849d519467be361c92ecaf2c1c46df1d6466e Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Tue, 10 Jul 2012 15:57:24 +0300 -Subject: [PATCH 01/19] ib_core: backport dst_fetch_ha +Subject: [PATCH 01/21] ib_core: backport dst_fetch_ha Signed-off-by: Vladimir Sokolovsky --- @@ -9,7 +9,7 @@ Signed-off-by: Vladimir Sokolovsky 1 files changed, 58 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c -index 6ef660c..b3f7918 100644 +index 6ef660c..984f61c 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -178,28 +178,45 @@ static void queue_req(struct addr_req *req) @@ -86,7 +86,7 @@ index 6ef660c..b3f7918 100644 + if (neigh) + goto release; + goto put; -+ } ++ } + + ret = rdma_copy_addr(addr, neigh->dev, neigh->ha); +release: diff --git a/patches/0002-ib-core-Backport-flowi4-and-flowi6.patch b/patches/0002-ib-core-Backport-flowi4-and-flowi6.patch index 7e72f81..780dc87 100644 --- a/patches/0002-ib-core-Backport-flowi4-and-flowi6.patch +++ b/patches/0002-ib-core-Backport-flowi4-and-flowi6.patch @@ -1,7 +1,7 @@ -From afcded5e038e760d131e231d5c4ef9b1aab47ef4 Mon Sep 17 00:00:00 2001 +From 026cb35caae800ec4823fd05fa4d5fd4b41b5153 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Tue, 10 Jul 2012 17:21:25 +0300 -Subject: [PATCH 02/19] ib/core: Backport flowi4 and flowi6 +Subject: [PATCH 02/21] ib/core: Backport flowi4 and flowi6 Signed-off-by: Vladimir Sokolovsky --- @@ -9,7 +9,7 @@ Signed-off-by: Vladimir Sokolovsky 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c -index b3f7918..16147cc 100644 +index 984f61c..089b076 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -225,22 +225,41 @@ static int addr4_resolve(struct sockaddr_in *src_in, diff --git a/patches/0003-BACKPORT-core-netlink-for-kernels-3.4.patch b/patches/0003-BACKPORT-core-netlink-for-kernels-3.4.patch index 34da210..92647db 100644 --- a/patches/0003-BACKPORT-core-netlink-for-kernels-3.4.patch +++ b/patches/0003-BACKPORT-core-netlink-for-kernels-3.4.patch @@ -1,7 +1,7 @@ -From 7692a8ee4653116ca742acfbf84b008ef98a2fa2 Mon Sep 17 00:00:00 2001 +From 5fd491b49a69f933b529aa5d8f7e0a37c06799bb Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Mon, 25 Jun 2012 22:28:24 +0300 -Subject: [PATCH 03/19] BACKPORT: core/netlink for kernels <= 3.4 +Subject: [PATCH 03/21] BACKPORT: core/netlink for kernels <= 3.4 Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0004-ib-core-Backport-pinned_vm-for-kernels-3.2.patch b/patches/0004-ib-core-Backport-pinned_vm-for-kernels-3.2.patch index c2d7eed..9fb4895 100644 --- a/patches/0004-ib-core-Backport-pinned_vm-for-kernels-3.2.patch +++ b/patches/0004-ib-core-Backport-pinned_vm-for-kernels-3.2.patch @@ -1,7 +1,7 @@ -From 723354e9a6c86869c6bed9a2c7935551f494ca48 Mon Sep 17 00:00:00 2001 +From b4ba8b62569098b2d80a8bdf007a13d762dbd66e Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Tue, 10 Jul 2012 17:41:31 +0300 -Subject: [PATCH 04/19] ib/core: Backport pinned_vm for kernels <= 3.2 +Subject: [PATCH 04/21] ib/core: Backport pinned_vm for kernels <= 3.2 Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0005-ib-core-Backport-CLASS_ATTR-for-kernels-2.6.34.patch b/patches/0005-ib-core-Backport-CLASS_ATTR-for-kernels-2.6.34.patch index edf420b..8d0e045 100644 --- a/patches/0005-ib-core-Backport-CLASS_ATTR-for-kernels-2.6.34.patch +++ b/patches/0005-ib-core-Backport-CLASS_ATTR-for-kernels-2.6.34.patch @@ -1,7 +1,7 @@ -From 83914b4f3d83330c6ad822f9452d4b2c81f328bd Mon Sep 17 00:00:00 2001 +From 114683737901661ad394d2eee81d500f702c4c36 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Tue, 10 Jul 2012 18:06:16 +0300 -Subject: [PATCH 05/19] ib/core: Backport CLASS_ATTR for kernels < 2.6.34 +Subject: [PATCH 05/21] ib/core: Backport CLASS_ATTR for kernels < 2.6.34 Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0006-Backport-mlx4_ib.patch b/patches/0006-Backport-mlx4_ib.patch index ec0c93b..b44a534 100644 --- a/patches/0006-Backport-mlx4_ib.patch +++ b/patches/0006-Backport-mlx4_ib.patch @@ -1,7 +1,7 @@ -From 29b2e01be91deea5444b21c4345184c65e2126c5 Mon Sep 17 00:00:00 2001 +From 8d863bb705600583bf70868bb5ab0ee41bfb4542 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Thu, 12 Jul 2012 22:31:24 +0300 -Subject: [PATCH 06/19] Backport mlx4_ib +Subject: [PATCH 06/21] Backport mlx4_ib Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0007-BACKPORT-ucma-Revert-sysctl-registrations.patch b/patches/0007-BACKPORT-ucma-Revert-sysctl-registrations.patch index f5b1831..37dcb1b 100644 --- a/patches/0007-BACKPORT-ucma-Revert-sysctl-registrations.patch +++ b/patches/0007-BACKPORT-ucma-Revert-sysctl-registrations.patch @@ -1,7 +1,7 @@ -From 2db8dcb3b0cde969104eefb7fd59f9d912d258b6 Mon Sep 17 00:00:00 2001 +From 1473b7194e0bce6d1dd06b17bf006a7fae99c448 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Fri, 13 Jul 2012 00:24:56 +0300 -Subject: [PATCH 07/19] BACKPORT ucma: Revert sysctl registrations +Subject: [PATCH 07/21] BACKPORT ucma: Revert sysctl registrations Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0008-RDMA-nes-Backports-for-RHEL-6.2-and-6.3.patch b/patches/0008-RDMA-nes-Backports-for-RHEL-6.2-and-6.3.patch index bb2c448..1bdda5b 100644 --- a/patches/0008-RDMA-nes-Backports-for-RHEL-6.2-and-6.3.patch +++ b/patches/0008-RDMA-nes-Backports-for-RHEL-6.2-and-6.3.patch @@ -1,7 +1,7 @@ -From 5b576bba91da600067fb95cc76b13d57433b0767 Mon Sep 17 00:00:00 2001 +From a0b4e02814afe69cd050cda0c51fd52fd4e96cb6 Mon Sep 17 00:00:00 2001 From: Tatyana Nikolova Date: Mon, 16 Jul 2012 17:14:31 +0300 -Subject: [PATCH 08/19] RDMA/nes: Backports for RHEL 6.2 and 6.3 +Subject: [PATCH 08/21] RDMA/nes: Backports for RHEL 6.2 and 6.3 Backports for linux-3.5 nes to RHEL-6.2 and RHEL-6.3 diff --git a/patches/0009-iw_cxgb3-iw_cxgb4-Enable-header-file-inclusion-with-.patch b/patches/0009-iw_cxgb3-iw_cxgb4-Enable-header-file-inclusion-with-.patch index 3b9e8c2..9eb638c 100644 --- a/patches/0009-iw_cxgb3-iw_cxgb4-Enable-header-file-inclusion-with-.patch +++ b/patches/0009-iw_cxgb3-iw_cxgb4-Enable-header-file-inclusion-with-.patch @@ -1,7 +1,7 @@ -From bdb1401c1b46e21549c53f1681f6b7b03bb60ebc Mon Sep 17 00:00:00 2001 +From 0ea5b57fe57f435ea4ff638c9054d90564842a0e Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Mon, 7 May 2012 12:43:41 +0530 -Subject: [PATCH 09/19] iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path +Subject: [PATCH 09/21] iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path iw_cxgb3/iw_cxgb4 driver includes header files of cxgb3/cxgb4 drivers respectively. OFED build environment is not able to find the header files diff --git a/patches/0010-IB-qib-backport-qib_fs.c-before-2.6.35.patch b/patches/0010-IB-qib-backport-qib_fs.c-before-2.6.35.patch index 9a124d2..f2a38fe 100644 --- a/patches/0010-IB-qib-backport-qib_fs.c-before-2.6.35.patch +++ b/patches/0010-IB-qib-backport-qib_fs.c-before-2.6.35.patch @@ -1,7 +1,7 @@ -From 62a485e26214924a1e2f4611460113c3f584038e Mon Sep 17 00:00:00 2001 +From 4a1c370f23ed0c15fa8a15b7cdd72fc4b8e9590b Mon Sep 17 00:00:00 2001 From: Mike Marciniszyn Date: Thu, 2 Aug 2012 18:11:27 +0300 -Subject: [PATCH 10/19] IB/qib: backport qib_fs.c before 2.6.35 +Subject: [PATCH 10/21] IB/qib: backport qib_fs.c before 2.6.35 Signed-off-by: Mike Marciniszyn --- diff --git a/patches/0011-cxgb3-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch b/patches/0011-cxgb3-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch index 22e936c..3961945 100644 --- a/patches/0011-cxgb3-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch +++ b/patches/0011-cxgb3-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch @@ -1,7 +1,7 @@ -From 1e960f512bff5b850142ff281598bdca4333fae4 Mon Sep 17 00:00:00 2001 +From 434d4d19533137c6936b9733743a934fd4946b63 Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Mon, 30 Jul 2012 19:08:37 +0530 -Subject: [PATCH 11/19] cxgb3: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 +Subject: [PATCH 11/21] cxgb3: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 Signed-off-by: Vipul Pandya --- diff --git a/patches/0012-IB-qib-backport-3.2-for-pinned_vm-field.patch b/patches/0012-IB-qib-backport-3.2-for-pinned_vm-field.patch index 34fbcc8..e63b31d 100644 --- a/patches/0012-IB-qib-backport-3.2-for-pinned_vm-field.patch +++ b/patches/0012-IB-qib-backport-3.2-for-pinned_vm-field.patch @@ -1,7 +1,7 @@ -From 7996c9a696ae6954721ce66a8ab300c9df8b7f2e Mon Sep 17 00:00:00 2001 +From 3987484a97b9ab36fc841a3109aebb875dba5c8f Mon Sep 17 00:00:00 2001 From: Mike Marciniszyn Date: Thu, 2 Aug 2012 18:11:27 +0300 -Subject: [PATCH 12/19] IB/qib: backport < 3.2 for pinned_vm field +Subject: [PATCH 12/21] IB/qib: backport < 3.2 for pinned_vm field Signed-off-by: Mike Marciniszyn --- diff --git a/patches/0013-cxgb4-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-SP2.patch b/patches/0013-cxgb4-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-SP2.patch index 5cfa4a2..dea45c7 100644 --- a/patches/0013-cxgb4-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-SP2.patch +++ b/patches/0013-cxgb4-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-SP2.patch @@ -1,7 +1,7 @@ -From b316d1c7c58e9a499efd68a4072d7e566b50d733 Mon Sep 17 00:00:00 2001 +From 7498293c8d344b70376649277926d72b4250c674 Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Mon, 30 Jul 2012 12:06:12 +0530 -Subject: [PATCH 13/19] cxgb4: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2 +Subject: [PATCH 13/21] cxgb4: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2 Signed-off-by: Vipul Pandya --- diff --git a/patches/0014-IB-ipath-backport-qib_fs.c-before-2.6.35.patch b/patches/0014-IB-ipath-backport-qib_fs.c-before-2.6.35.patch index 273de3c..cef25eb 100644 --- a/patches/0014-IB-ipath-backport-qib_fs.c-before-2.6.35.patch +++ b/patches/0014-IB-ipath-backport-qib_fs.c-before-2.6.35.patch @@ -1,7 +1,7 @@ -From 6de2e2a1dec734bab9788b2602edcbda1ce34cf2 Mon Sep 17 00:00:00 2001 +From 52bf86dbd619044e40448eeb2edfaafbbeb71acd Mon Sep 17 00:00:00 2001 From: Mike Marciniszyn Date: Thu, 2 Aug 2012 18:11:27 +0300 -Subject: [PATCH 14/19] IB/ipath: backport qib_fs.c before 2.6.35 +Subject: [PATCH 14/21] IB/ipath: backport qib_fs.c before 2.6.35 Signed-off-by: Mike Marciniszyn --- diff --git a/patches/0015-IB-ipath-backport-3.2-for-pinned_vm-field.patch b/patches/0015-IB-ipath-backport-3.2-for-pinned_vm-field.patch index d0db622..d4a01fd 100644 --- a/patches/0015-IB-ipath-backport-3.2-for-pinned_vm-field.patch +++ b/patches/0015-IB-ipath-backport-3.2-for-pinned_vm-field.patch @@ -1,7 +1,7 @@ -From 4c438e025af2c1e3b6da2e80aa4cdeb22879b233 Mon Sep 17 00:00:00 2001 +From cbf29472b92bdc58e2c2fdb6d971ad843fe4bad5 Mon Sep 17 00:00:00 2001 From: Mike Marciniszyn Date: Thu, 2 Aug 2012 18:11:27 +0300 -Subject: [PATCH 15/19] IB/ipath: backport < 3.2 for pinned_vm field +Subject: [PATCH 15/21] IB/ipath: backport < 3.2 for pinned_vm field Signed-off-by: Mike Marciniszyn --- diff --git a/patches/0016-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch b/patches/0016-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch index 424ff3c..b54f5bb 100644 --- a/patches/0016-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch +++ b/patches/0016-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch @@ -1,7 +1,7 @@ -From 6a037dd6124f663462974233e166febc4f743a4b Mon Sep 17 00:00:00 2001 +From 32509a879b4662c90805662b055521a8b2541cd3 Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Mon, 30 Jul 2012 12:38:36 +0530 -Subject: [PATCH 16/19] iw_cxgb3: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2 +Subject: [PATCH 16/21] iw_cxgb3: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2 Signed-off-by: Vipul Pandya --- diff --git a/patches/0017-iw_cxgb4-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP.patch b/patches/0017-iw_cxgb4-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP.patch index 60d1498..5b84ff0 100644 --- a/patches/0017-iw_cxgb4-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP.patch +++ b/patches/0017-iw_cxgb4-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP.patch @@ -1,7 +1,7 @@ -From 7042b9602eddcccd36c970f11d5123db52883b0c Mon Sep 17 00:00:00 2001 +From a31706eefdd5fa6cbcfd5e9a85ccdef74dba374e Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Mon, 30 Jul 2012 16:59:42 +0530 -Subject: [PATCH 17/19] iw_cxgb4: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 +Subject: [PATCH 17/21] iw_cxgb4: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 Signed-off-by: Vipul Pandya --- diff --git a/patches/0018-IPoIB-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch b/patches/0018-IPoIB-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch index 55e06b6..b5354ab 100644 --- a/patches/0018-IPoIB-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch +++ b/patches/0018-IPoIB-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch @@ -1,7 +1,7 @@ -From fb296cd5f46e72878911b20e3e346b605ea84c4d Mon Sep 17 00:00:00 2001 +From a5eccddfb48b63a8cddec33b39544136aa3378ee Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Thu, 2 Aug 2012 16:12:39 +0300 -Subject: [PATCH 18/19] IPoIB: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 +Subject: [PATCH 18/21] IPoIB: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0019-mlx4_en-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch b/patches/0019-mlx4_en-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch index 428cc86..1e64d20 100644 --- a/patches/0019-mlx4_en-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch +++ b/patches/0019-mlx4_en-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch @@ -1,7 +1,7 @@ -From 8d37aed4c921582f6cdacc00b1c9fbb933bfa9f1 Mon Sep 17 00:00:00 2001 +From 4c1b99148b5eeb1cdb2e251919a083b03aca35a4 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Sun, 5 Aug 2012 22:00:42 +0300 -Subject: [PATCH 19/19] mlx4_en: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 +Subject: [PATCH 19/21] mlx4_en: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 Signed-off-by: Vladimir Sokolovsky --- diff --git a/patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch b/patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch new file mode 100644 index 0000000..ea23b5a --- /dev/null +++ b/patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch @@ -0,0 +1,113 @@ +From 281fbad725657ca5c8593a849010529fd78f3988 Mon Sep 17 00:00:00 2001 +From: Jeff Becker +Date: Fri, 24 Aug 2012 11:18:23 -0700 +Subject: [PATCH 20/21] NFSRDMA: RHEL6.3 and SLES11 SP2 backport + +Signed-off-by: Jeff Becker +--- + net/sunrpc/xprtrdma/rpc_rdma.c | 16 ++++++++++++++++ + net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 ++++ + net/sunrpc/xprtrdma/transport.c | 12 ++++++++++++ + 3 files changed, 32 insertions(+), 0 deletions(-) + +diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c +index 558fbab..0a6c1db 100644 +--- a/net/sunrpc/xprtrdma/rpc_rdma.c ++++ b/net/sunrpc/xprtrdma/rpc_rdma.c +@@ -338,9 +338,17 @@ rpcrdma_inline_pullup(struct rpc_rqst *rqst, int pad) + curlen = copy_len; + dprintk("RPC: %s: page %d destp 0x%p len %d curlen %d\n", + __func__, i, destp, copy_len, curlen); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) + srcp = kmap_atomic(ppages[i]); ++#else ++ srcp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA); ++#endif + memcpy(destp, srcp+page_base, curlen); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) + kunmap_atomic(srcp); ++#else ++ kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA); ++#endif + rqst->rq_svec[0].iov_len += curlen; + destp += curlen; + copy_len -= curlen; +@@ -639,10 +647,18 @@ rpcrdma_inline_fixup(struct rpc_rqst *rqst, char *srcp, int copy_len, int pad) + dprintk("RPC: %s: page %d" + " srcp 0x%p len %d curlen %d\n", + __func__, i, srcp, copy_len, curlen); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) + destp = kmap_atomic(ppages[i]); ++#else ++ destp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA); ++#endif + memcpy(destp + page_base, srcp, curlen); + flush_dcache_page(ppages[i]); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) + kunmap_atomic(destp); ++#else ++ kunmap_atomic(destp, KM_SKB_SUNRPC_DATA); ++#endif + srcp += curlen; + copy_len -= curlen; + if (copy_len == 0) +diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c +index 73b428b..325e9fd 100644 +--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c ++++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c +@@ -445,7 +445,11 @@ static struct svcxprt_rdma *rdma_create_xprt(struct svc_serv *serv, + + if (!cma_xprt) + return NULL; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) + svc_xprt_init(&init_net, &svc_rdma_class, &cma_xprt->sc_xprt, serv); ++#else ++ svc_xprt_init(&svc_rdma_class, &cma_xprt->sc_xprt, serv); ++#endif + INIT_LIST_HEAD(&cma_xprt->sc_accept_q); + INIT_LIST_HEAD(&cma_xprt->sc_dto_q); + INIT_LIST_HEAD(&cma_xprt->sc_rq_dto_q); +diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c +index b446e10..9419f34 100644 +--- a/net/sunrpc/xprtrdma/transport.c ++++ b/net/sunrpc/xprtrdma/transport.c +@@ -283,7 +283,9 @@ xprt_setup_rdma(struct xprt_create *args) + } + + xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt), ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) + xprt_rdma_slot_table_entries, ++#endif + xprt_rdma_slot_table_entries); + if (xprt == NULL) { + dprintk("RPC: %s: couldn't allocate rpcrdma_xprt\n", +@@ -453,8 +455,14 @@ xprt_rdma_connect(struct rpc_task *task) + } + + static int ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) + xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task) + { ++#else ++xprt_rdma_reserve_xprt(struct rpc_task *task) ++{ ++ struct rpc_xprt *xprt = task->tk_xprt; ++#endif + struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); + int credits = atomic_read(&r_xprt->rx_buf.rb_credits); + +@@ -466,7 +474,11 @@ xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task) + BUG_ON(r_xprt->rx_buf.rb_cwndscale <= 0); + } + xprt->cwnd = credits * r_xprt->rx_buf.rb_cwndscale; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) + return xprt_reserve_xprt_cong(xprt, task); ++#else ++ return xprt_reserve_xprt_cong(task); ++#endif + } + + /* +-- +1.7.0.4 + diff --git a/patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch b/patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch deleted file mode 100644 index 22a9564..0000000 --- a/patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- a/net/sunrpc/xprtrdma/svc_rdma_transport.c 2012-08-10 14:24:49.030166769 -0700 -+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c 2012-08-13 11:07:38.566980365 -0700 -@@ -445,7 +445,11 @@ - - if (!cma_xprt) - return NULL; -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) - svc_xprt_init(&init_net, &svc_rdma_class, &cma_xprt->sc_xprt, serv); -+#else -+ svc_xprt_init(&svc_rdma_class, &cma_xprt->sc_xprt, serv); -+#endif - INIT_LIST_HEAD(&cma_xprt->sc_accept_q); - INIT_LIST_HEAD(&cma_xprt->sc_dto_q); - INIT_LIST_HEAD(&cma_xprt->sc_rq_dto_q); - ---- a/net/sunrpc/xprtrdma/transport.c 2012-08-10 14:24:49.030166769 -0700 -+++ b/net/sunrpc/xprtrdma/transport.c 2012-08-15 10:30:17.125653683 -0700 -@@ -283,7 +283,9 @@ - } - - xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt), -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) - xprt_rdma_slot_table_entries, -+#endif - xprt_rdma_slot_table_entries); - if (xprt == NULL) { - dprintk("RPC: %s: couldn't allocate rpcrdma_xprt\n", -@@ -453,8 +455,14 @@ - } - - static int -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) - xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task) - { -+#else -+xprt_rdma_reserve_xprt(struct rpc_task *task) -+{ -+ struct rpc_xprt *xprt = task->tk_xprt; -+#endif - struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); - int credits = atomic_read(&r_xprt->rx_buf.rb_credits); - -@@ -466,7 +474,11 @@ - BUG_ON(r_xprt->rx_buf.rb_cwndscale <= 0); - } - xprt->cwnd = credits * r_xprt->rx_buf.rb_cwndscale; -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED) - return xprt_reserve_xprt_cong(xprt, task); -+#else -+ return xprt_reserve_xprt_cong(task); -+#endif - } - - /* - ---- a/net/sunrpc/xprtrdma/rpc_rdma.c 2012-08-10 14:24:49.029166778 -0700 -+++ b/net/sunrpc/xprtrdma/rpc_rdma.c 2012-08-20 15:10:21.838979969 -0700 -@@ -338,9 +338,17 @@ - curlen = copy_len; - dprintk("RPC: %s: page %d destp 0x%p len %d curlen %d\n", - __func__, i, destp, copy_len, curlen); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - srcp = kmap_atomic(ppages[i]); -+#else -+ srcp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA); -+#endif - memcpy(destp, srcp+page_base, curlen); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - kunmap_atomic(srcp); -+#else -+ kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA); -+#endif - rqst->rq_svec[0].iov_len += curlen; - destp += curlen; - copy_len -= curlen; -@@ -639,10 +647,18 @@ - dprintk("RPC: %s: page %d" - " srcp 0x%p len %d curlen %d\n", - __func__, i, srcp, copy_len, curlen); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - destp = kmap_atomic(ppages[i]); -+#else -+ destp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA); -+#endif - memcpy(destp + page_base, srcp, curlen); - flush_dcache_page(ppages[i]); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - kunmap_atomic(destp); -+#else -+ kunmap_atomic(destp, KM_SKB_SUNRPC_DATA); -+#endif - srcp += curlen; - copy_len -= curlen; - if (copy_len == 0) diff --git a/patches/0021-RDMA-nes-Updated-backports.patch b/patches/0021-RDMA-nes-Updated-backports.patch new file mode 100644 index 0000000..ca0bbbc --- /dev/null +++ b/patches/0021-RDMA-nes-Updated-backports.patch @@ -0,0 +1,161 @@ +From abd0f3494cc9ac2653dc3b451429cddd7c25def9 Mon Sep 17 00:00:00 2001 +From: Tatyana Nikolova +Date: Sat, 25 Aug 2012 20:39:12 -0500 +Subject: [PATCH 21/21] RDMA/nes: Updated backports + +OFED-3.5/NES: Updated backports to be applied on top of the previously submitted backport patch. + +Signed-off-by: Tatyana Nikolova +--- + drivers/infiniband/hw/nes/nes_hw.c | 11 ++++++++ + drivers/infiniband/hw/nes/nes_hw.h | 3 ++ + drivers/infiniband/hw/nes/nes_nic.c | 49 ++++++++++++++++++++++++++++------ + 3 files changed, 54 insertions(+), 9 deletions(-) + +diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c +index d42c9f4..259faab 100644 +--- a/drivers/infiniband/hw/nes/nes_hw.c ++++ b/drivers/infiniband/hw/nes/nes_hw.c +@@ -2951,7 +2951,18 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq) + nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n", + nesvnic->netdev->name, vlan_tag); + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) ++ if (nesvnic->vlan_grp != NULL) { ++ if (nes_use_lro) ++ lro_vlan_hwaccel_receive_skb(&nesvnic->lro_mgr, rx_skb, ++ nesvnic->vlan_grp, vlan_tag, NULL); ++ else ++ vlan_hwaccel_receive_skb(rx_skb, nesvnic->vlan_grp, vlan_tag); ++ goto skip_rx_indicate0; ++ } ++#endif + __vlan_hwaccel_put_tag(rx_skb, vlan_tag); ++ + } + if (nes_use_lro) + lro_receive_skb(&nesvnic->lro_mgr, rx_skb, NULL); +diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h +index d748e4b..b4a31de 100644 +--- a/drivers/infiniband/hw/nes/nes_hw.h ++++ b/drivers/infiniband/hw/nes/nes_hw.h +@@ -1236,6 +1236,9 @@ struct nes_vnic { + /* void *mem; */ + struct nes_device *nesdev; + struct net_device *netdev; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) ++ struct vlan_group *vlan_grp; ++#endif + atomic_t rx_skbs_needed; + atomic_t rx_skb_timer_running; + int budget; +diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c +index d54776f..696b80e 100644 +--- a/drivers/infiniband/hw/nes/nes_nic.c ++++ b/drivers/infiniband/hw/nes/nes_nic.c +@@ -1597,6 +1597,33 @@ static const struct ethtool_ops nes_ethtool_ops = { + .set_pauseparam = nes_netdev_set_pauseparam, + }; + ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) ++static void nes_netdev_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp) ++{ ++ struct nes_vnic *nesvnic = netdev_priv(netdev); ++ struct nes_device *nesdev = nesvnic->nesdev; ++ struct nes_adapter *nesadapter = nesdev->nesadapter; ++ u32 u32temp; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&nesadapter->phy_lock, flags); ++ nesvnic->vlan_grp = grp; ++ ++ nes_debug(NES_DBG_NETDEV, "%s: %s\n", __func__, netdev->name); ++ ++ /* Enable/Disable VLAN Stripping */ ++ u32temp = nes_read_indexed(nesdev, NES_IDX_PCIX_DIAG); ++ if (grp) ++ u32temp &= 0xfdffffff; ++ else ++ u32temp |= 0x02000000; ++ ++ nes_write_indexed(nesdev, NES_IDX_PCIX_DIAG, u32temp); ++ spin_unlock_irqrestore(&nesadapter->phy_lock, flags); ++} ++#endif ++ + static void nes_vlan_mode(struct net_device *netdev, struct nes_device *nesdev, netdev_features_t features) + { + struct nes_adapter *nesadapter = nesdev->nesadapter; +@@ -1618,6 +1645,7 @@ static void nes_vlan_mode(struct net_device *netdev, struct nes_device *nesdev, + spin_unlock_irqrestore(&nesadapter->phy_lock, flags); + } + ++ + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) + static netdev_features_t nes_fix_features(struct net_device *netdev, netdev_features_t features) + { +@@ -1656,6 +1684,9 @@ static const struct net_device_ops nes_netdev_ops = { + .ndo_set_rx_mode = nes_netdev_set_multicast_list, + .ndo_change_mtu = nes_netdev_change_mtu, + .ndo_validate_addr = eth_validate_addr, ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) ++ .ndo_vlan_rx_register = nes_netdev_vlan_rx_register, ++#endif + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) + .ndo_fix_features = nes_fix_features, + .ndo_set_features = nes_set_features, +@@ -1691,12 +1722,10 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, + netdev->hard_header_len = ETH_HLEN; + netdev->addr_len = ETH_ALEN; + netdev->type = ARPHRD_ETHER; +- netdev->features = NETIF_F_HIGHDMA; + netdev->netdev_ops = &nes_netdev_ops; + netdev->ethtool_ops = &nes_ethtool_ops; + netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128); + nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n"); +- netdev->features |= NETIF_F_HW_VLAN_TX; + + /* Fill in the port structure */ + nesvnic->netdev = netdev; +@@ -1723,19 +1752,20 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, + netdev->dev_addr[5] = (u8)u64temp; + memcpy(netdev->perm_addr, netdev->dev_addr, 6); + +- netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; ++ netdev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX; + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) +- netdev->hw_features = NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_IP_CSUM | +- NETIF_F_HW_VLAN_RX; +- netdev->features |= netdev->hw_features; +- netdev->hw_features |= NETIF_F_LRO; ++ netdev->hw_features |= netdev->features | NETIF_F_LRO; + #endif ++ netdev->features |= NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX; ++ + if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) { ++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3,3,0)) ++ netdev->features |= NETIF_F_TSO; + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) + netdev->hw_features |= NETIF_F_TSO; + #endif +- netdev->features |= NETIF_F_TSO | NETIF_F_GSO; ++#endif + } + + nes_debug(NES_DBG_INIT, "nesvnic = %p, reported features = 0x%lX, QPid = %d," +@@ -1864,8 +1894,9 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, + nes_init_phy(nesdev); + } + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) + nes_vlan_mode(netdev, nesdev, netdev->features); +- ++#endif + return netdev; + } + +-- +1.7.0.4 +