Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1241631

[PATCH v4 01/14] RDS: use kfree_rcu in rds_ib_remove_ipaddr

From Santosh Shilimkar <santosh.shilimkar@oracle.com>
Newsgroups linux.kernel
Subject [PATCH v4 01/14] RDS: use kfree_rcu in rds_ib_remove_ipaddr
Date 2015-10-07 18:00 +0200
Message-ID <qgZik-T6-51@gated-at.bofh.it> (permalink)
References <qgZii-T6-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


synchronize_rcu() slowing down un-necessarily the socket shutdown
path. It is used just kfree() the ip addresses in rds_ib_remove_ipaddr()
which is perfect usecase for kfree_rcu();

So lets use that to gain some speedup.

Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
 net/rds/ib.h      | 1 +
 net/rds/ib_rdma.c | 6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/net/rds/ib.h b/net/rds/ib.h
index aae60fd..f1fd5ff 100644
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -164,6 +164,7 @@ struct rds_ib_connection {
 struct rds_ib_ipaddr {
 	struct list_head	list;
 	__be32			ipaddr;
+	struct rcu_head		rcu;
 };
 
 struct rds_ib_device {
diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c
index 251d1ce..872f523 100644
--- a/net/rds/ib_rdma.c
+++ b/net/rds/ib_rdma.c
@@ -159,10 +159,8 @@ static void rds_ib_remove_ipaddr(struct rds_ib_device *rds_ibdev, __be32 ipaddr)
 	}
 	spin_unlock_irq(&rds_ibdev->spinlock);
 
-	if (to_free) {
-		synchronize_rcu();
-		kfree(to_free);
-	}
+	if (to_free)
+		kfree_rcu(to_free, rcu);
 }
 
 int rds_ib_update_ipaddr(struct rds_ib_device *rds_ibdev, __be32 ipaddr)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/14] RDS: connection scalability and performance improvements Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 10/14] RDS: IB: fix the rds_ib_fmr_wq kick call Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 11/14] RDS: IB: use already available pool handle from ibmr Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 14/14] RDS: IB: split mr pool to improve 8K messages performance Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 13/14] RDS: IB: use max_mr from HCA caps than max_fmr Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 09/14] RDS: IB: handle rds_ibdev release case instead of crashing the kernel Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 07/14] RDS: IB: ack more receive completions to improve performance Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 03/14] RDS: fix rds_sock reference bug while doing bind Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 06/14] RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 12/14] RDS: IB: mark rds_ib_fmr_wq static Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 01/14] RDS: use kfree_rcu in rds_ib_remove_ipaddr Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 08/14] RDS: IB: split send completion handling and do batch ack Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 02/14] RDS: make socket bind/release locking scheme simple and more efficient Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 05/14] RDS: defer the over_batch work to send worker Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  [PATCH v4 04/14] RDS: Use per-bucket rw lock for bind hash-table Santosh Shilimkar <santosh.shilimkar@oracle.com> - 2015-10-07 18:00 +0200
  Re: [PATCH v4 00/14] RDS: connection scalability and performance  improvements David Miller <davem@davemloft.net> - 2015-10-08 13:30 +0200

csiph-web