Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1344917 > unrolled thread
| Started by | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| First post | 2016-02-27 06:50 +0100 |
| Last post | 2016-02-28 03:20 +0100 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
[net-next][PATCH 00/13] RDS: Major clean-up with couple of new features for 4.6 Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2016-02-27 06:50 +0100
[net-next][PATCH 10/13] RDS: IB: add mr reused stats Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2016-02-27 06:50 +0100
[net-next][PATCH 01/13] RDS: Drop stale iWARP RDMA transport Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2016-02-27 06:50 +0100
[net-next][PATCH 08/13] RDS: IB: add connection info to ibmr Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2016-02-27 06:50 +0100
[net-next][PATCH 02/13] RDS: Add support for SO_TIMESTAMP for incoming messages Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2016-02-27 06:50 +0100
Re: [net-next][PATCH 00/13] RDS: Major clean-up with couple of new features for 4.6 "santosh.shilimkar@oracle.com" <santosh.shilimkar@oracle.com> - 2016-02-28 03:20 +0100
| From | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-27 06:50 +0100 |
| Subject | [net-next][PATCH 00/13] RDS: Major clean-up with couple of new features for 4.6 |
| Message-ID | <r6FVn-6Ig-7@gated-at.bofh.it> |
Series is generated against net-next but also applies against Linus's tip cleanly. The diff-stat looks bit scary since almost ~4K lines of code is getting removed. Brief summary of the series: - Drop the stale iWARP support: RDS iWarp support code has become stale and non testable for sometime. As discussed and agreed earlier on list [1], am dropping its support for good. If new iWarp user(s) shows up in future, the plan is to adapt existing IB RDMA with special sink case. - RDS gets SO_TIMESTAMP support - Long due RDS maintainer entry gets updated - Some RDS IB code refactoring towards new FastReg Memory registration (FRMR) - Lastly the initial support for FRMR RDS IB RDMA performance with FRMR is not yet as good as FMR and I do have some patches in progress to address that. But they are not ready for 4.6 so I left them out of this series. Also am keeping eye on new CQ API adaptations like other ULPs doing and will try to adapt RDS for the same most likely in 4.7 timeframe. Entire patchset is available below git tree: git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git for_4.6/net-next/rds Feedback/comments welcome !! Santosh Shilimkar (12): RDS: Drop stale iWARP RDMA transport RDS: Add support for SO_TIMESTAMP for incoming messages MAINTAINERS: update RDS entry RDS: IB: Remove the RDS_IB_SEND_OP dependency RDS: IB: Re-organise ibmr code RDS: IB: create struct rds_ib_fmr RDS: IB: move FMR code to its own file RDS: IB: add connection info to ibmr RDS: IB: handle the RDMA CM time wait event RDS: IB: add mr reused stats RDS: IB: add Fastreg MR (FRMR) detection support RDS: IB: allocate extra space on queues for FRMR support Avinash Repaka (1): RDS: IB: Support Fastreg MR (FRMR) memory registration mode Documentation/networking/rds.txt | 4 +- MAINTAINERS | 6 +- net/rds/Kconfig | 7 +- net/rds/Makefile | 4 +- net/rds/af_rds.c | 26 ++ net/rds/ib.c | 51 +- net/rds/ib.h | 37 +- net/rds/ib_cm.c | 59 ++- net/rds/ib_fmr.c | 248 ++++++++++ net/rds/ib_frmr.c | 376 +++++++++++++++ net/rds/ib_mr.h | 148 ++++++ net/rds/ib_rdma.c | 492 ++++++-------------- net/rds/ib_send.c | 6 +- net/rds/ib_stats.c | 2 + net/rds/iw.c | 312 ------------- net/rds/iw.h | 398 ---------------- net/rds/iw_cm.c | 769 ------------------------------ net/rds/iw_rdma.c | 837 --------------------------------- net/rds/iw_recv.c | 904 ------------------------------------ net/rds/iw_ring.c | 169 ------- net/rds/iw_send.c | 981 --------------------------------------- net/rds/iw_stats.c | 95 ---- net/rds/iw_sysctl.c | 123 ----- net/rds/rdma_transport.c | 21 +- net/rds/rdma_transport.h | 5 - net/rds/rds.h | 1 + net/rds/recv.c | 20 +- 27 files changed, 1068 insertions(+), 5033 deletions(-) create mode 100644 net/rds/ib_fmr.c create mode 100644 net/rds/ib_frmr.c create mode 100644 net/rds/ib_mr.h delete mode 100644 net/rds/iw.c delete mode 100644 net/rds/iw.h delete mode 100644 net/rds/iw_cm.c delete mode 100644 net/rds/iw_rdma.c delete mode 100644 net/rds/iw_recv.c delete mode 100644 net/rds/iw_ring.c delete mode 100644 net/rds/iw_send.c delete mode 100644 net/rds/iw_stats.c delete mode 100644 net/rds/iw_sysctl.c Regards, Santosh [1] http://www.spinics.net/lists/linux-rdma/msg30769.html -- 1.9.1
[toc] | [next] | [standalone]
| From | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-27 06:50 +0100 |
| Subject | [net-next][PATCH 10/13] RDS: IB: add mr reused stats |
| Message-ID | <r6FVo-6Ig-33@gated-at.bofh.it> |
| In reply to | #1344917 |
Add MR reuse statistics to RDS IB transport.
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
net/rds/ib.h | 2 ++
net/rds/ib_rdma.c | 7 ++++++-
net/rds/ib_stats.c | 2 ++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/net/rds/ib.h b/net/rds/ib.h
index c88cb22..62fe7d5 100644
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -259,6 +259,8 @@ struct rds_ib_statistics {
uint64_t s_ib_rdma_mr_1m_pool_flush;
uint64_t s_ib_rdma_mr_1m_pool_wait;
uint64_t s_ib_rdma_mr_1m_pool_depleted;
+ uint64_t s_ib_rdma_mr_8k_reused;
+ uint64_t s_ib_rdma_mr_1m_reused;
uint64_t s_ib_atomic_cswp;
uint64_t s_ib_atomic_fadd;
};
diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c
index 20ff191..00e9064 100644
--- a/net/rds/ib_rdma.c
+++ b/net/rds/ib_rdma.c
@@ -188,8 +188,13 @@ struct rds_ib_mr *rds_ib_reuse_mr(struct rds_ib_mr_pool *pool)
flag = this_cpu_ptr(&clean_list_grace);
set_bit(CLEAN_LIST_BUSY_BIT, flag);
ret = llist_del_first(&pool->clean_list);
- if (ret)
+ if (ret) {
ibmr = llist_entry(ret, struct rds_ib_mr, llnode);
+ if (pool->pool_type == RDS_IB_MR_8K_POOL)
+ rds_ib_stats_inc(s_ib_rdma_mr_8k_reused);
+ else
+ rds_ib_stats_inc(s_ib_rdma_mr_1m_reused);
+ }
clear_bit(CLEAN_LIST_BUSY_BIT, flag);
preempt_enable();
diff --git a/net/rds/ib_stats.c b/net/rds/ib_stats.c
index d77e044..7e78dca 100644
--- a/net/rds/ib_stats.c
+++ b/net/rds/ib_stats.c
@@ -73,6 +73,8 @@ static const char *const rds_ib_stat_names[] = {
"ib_rdma_mr_1m_pool_flush",
"ib_rdma_mr_1m_pool_wait",
"ib_rdma_mr_1m_pool_depleted",
+ "ib_rdma_mr_8k_reused",
+ "ib_rdma_mr_1m_reused",
"ib_atomic_cswp",
"ib_atomic_fadd",
};
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-27 06:50 +0100 |
| Subject | [net-next][PATCH 01/13] RDS: Drop stale iWARP RDMA transport |
| Message-ID | <r6FVo-6Ig-37@gated-at.bofh.it> |
| In reply to | #1344917 |
RDS iWarp support code has become stale and non testable. As
indicated earlier, am dropping the support for it.
If new iWarp user(s) shows up in future, we can adapat the RDS IB
transprt for the special RDMA READ sink case. iWarp needs an MR
for the RDMA READ sink.
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
Documentation/networking/rds.txt | 4 +-
net/rds/Kconfig | 7 +-
net/rds/Makefile | 4 +-
net/rds/iw.c | 312 -------------
net/rds/iw.h | 398 ----------------
net/rds/iw_cm.c | 769 ------------------------------
net/rds/iw_rdma.c | 837 ---------------------------------
net/rds/iw_recv.c | 904 ------------------------------------
net/rds/iw_ring.c | 169 -------
net/rds/iw_send.c | 981 ---------------------------------------
net/rds/iw_stats.c | 95 ----
net/rds/iw_sysctl.c | 123 -----
net/rds/rdma_transport.c | 13 +-
net/rds/rdma_transport.h | 5 -
14 files changed, 7 insertions(+), 4614 deletions(-)
delete mode 100644 net/rds/iw.c
delete mode 100644 net/rds/iw.h
delete mode 100644 net/rds/iw_cm.c
delete mode 100644 net/rds/iw_rdma.c
delete mode 100644 net/rds/iw_recv.c
delete mode 100644 net/rds/iw_ring.c
delete mode 100644 net/rds/iw_send.c
delete mode 100644 net/rds/iw_stats.c
delete mode 100644 net/rds/iw_sysctl.c
diff --git a/Documentation/networking/rds.txt b/Documentation/networking/rds.txt
index e1a3d59..9d219d8 100644
--- a/Documentation/networking/rds.txt
+++ b/Documentation/networking/rds.txt
@@ -19,9 +19,7 @@ to N*N if you use a connection-oriented socket transport like TCP.
RDS is not Infiniband-specific; it was designed to support different
transports. The current implementation used to support RDS over TCP as well
-as IB. Work is in progress to support RDS over iWARP, and using DCE to
-guarantee no dropped packets on Ethernet, it may be possible to use RDS over
-UDP in the future.
+as IB.
The high-level semantics of RDS from the application's point of view are
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index f2c670b..bffde4b 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -4,14 +4,13 @@ config RDS
depends on INET
---help---
The RDS (Reliable Datagram Sockets) protocol provides reliable,
- sequenced delivery of datagrams over Infiniband, iWARP,
- or TCP.
+ sequenced delivery of datagrams over Infiniband or TCP.
config RDS_RDMA
- tristate "RDS over Infiniband and iWARP"
+ tristate "RDS over Infiniband"
depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
---help---
- Allow RDS to use Infiniband and iWARP as a transport.
+ Allow RDS to use Infiniband as a transport.
This transport supports RDMA operations.
config RDS_TCP
diff --git a/net/rds/Makefile b/net/rds/Makefile
index 56d3f60..19e5485 100644
--- a/net/rds/Makefile
+++ b/net/rds/Makefile
@@ -6,9 +6,7 @@ rds-y := af_rds.o bind.o cong.o connection.o info.o message.o \
obj-$(CONFIG_RDS_RDMA) += rds_rdma.o
rds_rdma-y := rdma_transport.o \
ib.o ib_cm.o ib_recv.o ib_ring.o ib_send.o ib_stats.o \
- ib_sysctl.o ib_rdma.o \
- iw.o iw_cm.o iw_recv.o iw_ring.o iw_send.o iw_stats.o \
- iw_sysctl.o iw_rdma.o
+ ib_sysctl.o ib_rdma.o
obj-$(CONFIG_RDS_TCP) += rds_tcp.o
diff --git a/net/rds/iw.c b/net/rds/iw.c
deleted file mode 100644
index f4a9fff..0000000
diff --git a/net/rds/iw.h b/net/rds/iw.h
deleted file mode 100644
index 5af01d1..0000000
diff --git a/net/rds/iw_cm.c b/net/rds/iw_cm.c
deleted file mode 100644
index aea4c91..0000000
diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c
deleted file mode 100644
index b09a40c..0000000
diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c
deleted file mode 100644
index a66d179..0000000
diff --git a/net/rds/iw_ring.c b/net/rds/iw_ring.c
deleted file mode 100644
index da8e3b6..0000000
diff --git a/net/rds/iw_send.c b/net/rds/iw_send.c
deleted file mode 100644
index e20bd50..0000000
diff --git a/net/rds/iw_stats.c b/net/rds/iw_stats.c
deleted file mode 100644
index 5fe67f6..0000000
diff --git a/net/rds/iw_sysctl.c b/net/rds/iw_sysctl.c
deleted file mode 100644
index 139239d..0000000
diff --git a/net/rds/rdma_transport.c b/net/rds/rdma_transport.c
index 9c1fed8..4f4b3d8 100644
--- a/net/rds/rdma_transport.c
+++ b/net/rds/rdma_transport.c
@@ -49,9 +49,7 @@ int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
rdsdebug("conn %p id %p handling event %u (%s)\n", conn, cm_id,
event->event, rdma_event_msg(event->event));
- if (cm_id->device->node_type == RDMA_NODE_RNIC)
- trans = &rds_iw_transport;
- else
+ if (cm_id->device->node_type == RDMA_NODE_IB_CA)
trans = &rds_ib_transport;
/* Prevent shutdown from tearing down the connection
@@ -200,10 +198,6 @@ static int rds_rdma_init(void)
if (ret)
goto out;
- ret = rds_iw_init();
- if (ret)
- goto err_iw_init;
-
ret = rds_ib_init();
if (ret)
goto err_ib_init;
@@ -211,8 +205,6 @@ static int rds_rdma_init(void)
goto out;
err_ib_init:
- rds_iw_exit();
-err_iw_init:
rds_rdma_listen_stop();
out:
return ret;
@@ -224,11 +216,10 @@ static void rds_rdma_exit(void)
/* stop listening first to ensure no new connections are attempted */
rds_rdma_listen_stop();
rds_ib_exit();
- rds_iw_exit();
}
module_exit(rds_rdma_exit);
MODULE_AUTHOR("Oracle Corporation <rds-devel@oss.oracle.com>");
-MODULE_DESCRIPTION("RDS: IB/iWARP transport");
+MODULE_DESCRIPTION("RDS: IB transport");
MODULE_LICENSE("Dual BSD/GPL");
diff --git a/net/rds/rdma_transport.h b/net/rds/rdma_transport.h
index faba4e3..ff2010e 100644
--- a/net/rds/rdma_transport.h
+++ b/net/rds/rdma_transport.h
@@ -16,9 +16,4 @@ extern struct rds_transport rds_ib_transport;
int rds_ib_init(void);
void rds_ib_exit(void);
-/* from iw.c */
-extern struct rds_transport rds_iw_transport;
-int rds_iw_init(void);
-void rds_iw_exit(void);
-
#endif
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-27 06:50 +0100 |
| Subject | [net-next][PATCH 08/13] RDS: IB: add connection info to ibmr |
| Message-ID | <r6FVp-6Ig-41@gated-at.bofh.it> |
| In reply to | #1344917 |
Preperatory patch for FRMR support. From connection info,
we can retrieve cm_id which contains qp handled needed for
work request posting.
We also need to drop the RDS connection on QP error states
where connection handle becomes useful.
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
net/rds/ib_mr.h | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/net/rds/ib_mr.h b/net/rds/ib_mr.h
index f5c1fcb..add7725 100644
--- a/net/rds/ib_mr.h
+++ b/net/rds/ib_mr.h
@@ -50,18 +50,19 @@ struct rds_ib_fmr {
/* This is stored as mr->r_trans_private. */
struct rds_ib_mr {
- struct rds_ib_device *device;
- struct rds_ib_mr_pool *pool;
+ struct rds_ib_device *device;
+ struct rds_ib_mr_pool *pool;
+ struct rds_ib_connection *ic;
- struct llist_node llnode;
+ struct llist_node llnode;
/* unmap_list is for freeing */
- struct list_head unmap_list;
- unsigned int remap_count;
+ struct list_head unmap_list;
+ unsigned int remap_count;
- struct scatterlist *sg;
- unsigned int sg_len;
- int sg_dma_len;
+ struct scatterlist *sg;
+ unsigned int sg_len;
+ int sg_dma_len;
union {
struct rds_ib_fmr fmr;
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Santosh Shilimkar <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-27 06:50 +0100 |
| Subject | [net-next][PATCH 02/13] RDS: Add support for SO_TIMESTAMP for incoming messages |
| Message-ID | <r6FVp-6Ig-43@gated-at.bofh.it> |
| In reply to | #1344917 |
The SO_TIMESTAMP generates time stamp for each incoming RDS messages
User app can enable it by using SO_TIMESTAMP setsocketopt() at
SOL_SOCKET level. CMSG data of cmsg type SO_TIMESTAMP contains the
time stamp in struct timeval format.
Reviewed-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
net/rds/af_rds.c | 26 ++++++++++++++++++++++++++
net/rds/rds.h | 1 +
net/rds/recv.c | 20 ++++++++++++++++++--
3 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c
index b5476aeb..6beaeb1 100644
--- a/net/rds/af_rds.c
+++ b/net/rds/af_rds.c
@@ -277,6 +277,27 @@ static int rds_set_transport(struct rds_sock *rs, char __user *optval,
return rs->rs_transport ? 0 : -ENOPROTOOPT;
}
+static int rds_enable_recvtstamp(struct sock *sk, char __user *optval,
+ int optlen)
+{
+ int val, valbool;
+
+ if (optlen != sizeof(int))
+ return -EFAULT;
+
+ if (get_user(val, (int __user *)optval))
+ return -EFAULT;
+
+ valbool = val ? 1 : 0;
+
+ if (valbool)
+ sock_set_flag(sk, SOCK_RCVTSTAMP);
+ else
+ sock_reset_flag(sk, SOCK_RCVTSTAMP);
+
+ return 0;
+}
+
static int rds_setsockopt(struct socket *sock, int level, int optname,
char __user *optval, unsigned int optlen)
{
@@ -312,6 +333,11 @@ static int rds_setsockopt(struct socket *sock, int level, int optname,
ret = rds_set_transport(rs, optval, optlen);
release_sock(sock->sk);
break;
+ case SO_TIMESTAMP:
+ lock_sock(sock->sk);
+ ret = rds_enable_recvtstamp(sock->sk, optval, optlen);
+ release_sock(sock->sk);
+ break;
default:
ret = -ENOPROTOOPT;
}
diff --git a/net/rds/rds.h b/net/rds/rds.h
index 0e2797b..80256b0 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -222,6 +222,7 @@ struct rds_incoming {
__be32 i_saddr;
rds_rdma_cookie_t i_rdma_cookie;
+ struct timeval i_rx_tstamp;
};
struct rds_mr {
diff --git a/net/rds/recv.c b/net/rds/recv.c
index a00462b..c0be1ec 100644
--- a/net/rds/recv.c
+++ b/net/rds/recv.c
@@ -35,6 +35,8 @@
#include <net/sock.h>
#include <linux/in.h>
#include <linux/export.h>
+#include <linux/time.h>
+#include <linux/rds.h>
#include "rds.h"
@@ -46,6 +48,8 @@ void rds_inc_init(struct rds_incoming *inc, struct rds_connection *conn,
inc->i_conn = conn;
inc->i_saddr = saddr;
inc->i_rdma_cookie = 0;
+ inc->i_rx_tstamp.tv_sec = 0;
+ inc->i_rx_tstamp.tv_usec = 0;
}
EXPORT_SYMBOL_GPL(rds_inc_init);
@@ -228,6 +232,8 @@ void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr,
rds_recv_rcvbuf_delta(rs, sk, inc->i_conn->c_lcong,
be32_to_cpu(inc->i_hdr.h_len),
inc->i_hdr.h_dport);
+ if (sock_flag(sk, SOCK_RCVTSTAMP))
+ do_gettimeofday(&inc->i_rx_tstamp);
rds_inc_addref(inc);
list_add_tail(&inc->i_item, &rs->rs_recv_queue);
__rds_wake_sk_sleep(sk);
@@ -381,7 +387,8 @@ static int rds_notify_cong(struct rds_sock *rs, struct msghdr *msghdr)
/*
* Receive any control messages.
*/
-static int rds_cmsg_recv(struct rds_incoming *inc, struct msghdr *msg)
+static int rds_cmsg_recv(struct rds_incoming *inc, struct msghdr *msg,
+ struct rds_sock *rs)
{
int ret = 0;
@@ -392,6 +399,15 @@ static int rds_cmsg_recv(struct rds_incoming *inc, struct msghdr *msg)
return ret;
}
+ if ((inc->i_rx_tstamp.tv_sec != 0) &&
+ sock_flag(rds_rs_to_sk(rs), SOCK_RCVTSTAMP)) {
+ ret = put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMP,
+ sizeof(struct timeval),
+ &inc->i_rx_tstamp);
+ if (ret)
+ return ret;
+ }
+
return 0;
}
@@ -474,7 +490,7 @@ int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
msg->msg_flags |= MSG_TRUNC;
}
- if (rds_cmsg_recv(inc, msg)) {
+ if (rds_cmsg_recv(inc, msg, rs)) {
ret = -EFAULT;
goto out;
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | "santosh.shilimkar@oracle.com" <santosh.shilimkar@oracle.com> |
|---|---|
| Date | 2016-02-28 03:20 +0100 |
| Subject | Re: [net-next][PATCH 00/13] RDS: Major clean-up with couple of new features for 4.6 |
| Message-ID | <r6Z7I-3Tt-3@gated-at.bofh.it> |
| In reply to | #1344917 |
Hi Dave, On 2/26/16 9:43 PM, Santosh Shilimkar wrote: > Series is generated against net-next but also applies against Linus's tip > cleanly. The diff-stat looks bit scary since almost ~4K lines of code is > getting removed. > [...] > > Entire patchset is available below git tree: > git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git for_4.6/net-next/rds > Just noticed that, I accidentally posted the patches from older(v1) folder, instead of updated v2. Sorry about it. Please discard this entire series. Will post intended v2 right after this email. Regards, Santosh
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web