* [PATCH 0/2] IB multicast cleanup patches V2
@ 2015-12-21 14:42 Christoph Lameter
2015-12-21 14:42 ` [PATCH 1/2] Isolate common list remove code Christoph Lameter
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Christoph Lameter @ 2015-12-21 14:42 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA
Cc: ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
V1->V2
- Add Reviewed by's for first patch from Ira Weiny
- Change name of ipoib_check_mcast_sendonly() to
ipoib_check_and_add_mcast_sendonly() as requested by Ira
This patchset cleans up the code a bit after the last round of multicast
patches related to the sendonly join logic. Some of the bits of code
landed in ipoib_main.c instead of ipoib_multicast.c.
- Move the multicastbits into that file so that everything is neatly together
- Reduce the number of functions exported from ipoib_multicast.c
This patchset can be retrieved from a git repo on kernel.org via
git pull git://git.kernel.org/pub/scm/linux/kernel/git/christoph/rdma.git cleanup
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] Isolate common list remove code
2015-12-21 14:42 [PATCH 0/2] IB multicast cleanup patches V2 Christoph Lameter
@ 2015-12-21 14:42 ` Christoph Lameter
[not found] ` <20151221144303.357400814-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-21 14:42 ` [PATCH 2/2] Move multicast specific code out of ipoib_main.c Christoph Lameter
[not found] ` <20151221144252.575119561-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2 siblings, 1 reply; 7+ messages in thread
From: Christoph Lameter @ 2015-12-21 14:42 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA
Cc: ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
[-- Attachment #1: 0001-ipoib-mcast-sendonly-join-Isolate-common-list-remove.patch --]
[-- Type: text/plain, Size: 5207 bytes --]
Code cleanup to remove multicast specific code from ipoib_main.c
The removal of a list of multicast groups occurs in three places.
Create a new function ipoib_mcast_remove_list(). Use this new
function in ipoib_main.c too.
That in turn allows the dropping of two functions that were
exported from ipoib_multicast.c for expiration of mc groups.
Reviewed-by: Iraq Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/ulp/ipoib/ipoib.h | 3 +--
drivers/infiniband/ulp/ipoib/ipoib_main.c | 7 ++-----
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 24 ++++++++++++++----------
3 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
index 3ede103..989c409 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib.h
+++ b/drivers/infiniband/ulp/ipoib/ipoib.h
@@ -495,7 +495,6 @@ void ipoib_dev_cleanup(struct net_device *dev);
void ipoib_mcast_join_task(struct work_struct *work);
void ipoib_mcast_carrier_on_task(struct work_struct *work);
void ipoib_mcast_send(struct net_device *dev, u8 *daddr, struct sk_buff *skb);
-void ipoib_mcast_free(struct ipoib_mcast *mc);
void ipoib_mcast_restart_task(struct work_struct *work);
int ipoib_mcast_start_thread(struct net_device *dev);
@@ -549,7 +548,7 @@ void ipoib_path_iter_read(struct ipoib_path_iter *iter,
int ipoib_mcast_attach(struct net_device *dev, u16 mlid,
union ib_gid *mgid, int set_qkey);
-int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast);
+void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list);
struct ipoib_mcast *__ipoib_mcast_find(struct net_device *dev, void *mgid);
int ipoib_init_qp(struct net_device *dev);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 7d32818..483ff20 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1150,7 +1150,7 @@ static void __ipoib_reap_neigh(struct ipoib_dev_priv *priv)
unsigned long flags;
int i;
LIST_HEAD(remove_list);
- struct ipoib_mcast *mcast, *tmcast;
+ struct ipoib_mcast *mcast;
struct net_device *dev = priv->dev;
if (test_bit(IPOIB_STOP_NEIGH_GC, &priv->flags))
@@ -1207,10 +1207,7 @@ static void __ipoib_reap_neigh(struct ipoib_dev_priv *priv)
out_unlock:
spin_unlock_irqrestore(&priv->lock, flags);
- list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
- ipoib_mcast_leave(dev, mcast);
- ipoib_mcast_free(mcast);
- }
+ ipoib_mcast_remove_list(dev, &remove_list);
}
static void ipoib_reap_neigh(struct work_struct *work)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index f357ca6..8acb420a 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -106,7 +106,7 @@ static void __ipoib_mcast_schedule_join_thread(struct ipoib_dev_priv *priv,
queue_delayed_work(priv->wq, &priv->mcast_task, 0);
}
-void ipoib_mcast_free(struct ipoib_mcast *mcast)
+static void ipoib_mcast_free(struct ipoib_mcast *mcast)
{
struct net_device *dev = mcast->dev;
int tx_dropped = 0;
@@ -677,7 +677,7 @@ int ipoib_mcast_stop_thread(struct net_device *dev)
return 0;
}
-int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast)
+static int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast)
{
struct ipoib_dev_priv *priv = netdev_priv(dev);
int ret = 0;
@@ -704,6 +704,16 @@ int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast)
return 0;
}
+void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list)
+{
+ struct ipoib_mcast *mcast, *tmcast;
+
+ list_for_each_entry_safe(mcast, tmcast, remove_list, list) {
+ ipoib_mcast_leave(dev, mcast);
+ ipoib_mcast_free(mcast);
+ }
+}
+
void ipoib_mcast_send(struct net_device *dev, u8 *daddr, struct sk_buff *skb)
{
struct ipoib_dev_priv *priv = netdev_priv(dev);
@@ -810,10 +820,7 @@ void ipoib_mcast_dev_flush(struct net_device *dev)
if (test_bit(IPOIB_MCAST_FLAG_BUSY, &mcast->flags))
wait_for_completion(&mcast->done);
- list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
- ipoib_mcast_leave(dev, mcast);
- ipoib_mcast_free(mcast);
- }
+ ipoib_mcast_remove_list(dev, &remove_list);
}
static int ipoib_mcast_addr_is_valid(const u8 *addr, const u8 *broadcast)
@@ -939,10 +946,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
if (test_bit(IPOIB_MCAST_FLAG_BUSY, &mcast->flags))
wait_for_completion(&mcast->done);
- list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
- ipoib_mcast_leave(mcast->dev, mcast);
- ipoib_mcast_free(mcast);
- }
+ ipoib_mcast_remove_list(mcast->dev, &remove_list);
/*
* Double check that we are still up
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] Move multicast specific code out of ipoib_main.c
2015-12-21 14:42 [PATCH 0/2] IB multicast cleanup patches V2 Christoph Lameter
2015-12-21 14:42 ` [PATCH 1/2] Isolate common list remove code Christoph Lameter
@ 2015-12-21 14:42 ` Christoph Lameter
[not found] ` <20151221144252.575119561-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2 siblings, 0 replies; 7+ messages in thread
From: Christoph Lameter @ 2015-12-21 14:42 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA
Cc: ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
[-- Attachment #1: 0002-Move-multicast-specific-code-out-of-ipoib_main.c.patch --]
[-- Type: text/plain, Size: 4240 bytes --]
V1->V2:
- Rename function as requested by Ira
Code cleanup to move multicast specific code that checks for
a sendonly join to ipoib_multicast.c. This allows the removal
of the export of __ipoib_mcast_find().
Signed-off-by: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/ulp/ipoib/ipoib.h | 3 ++-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +------------
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 21 ++++++++++++++++++++-
3 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
index 989c409..a924933 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib.h
+++ b/drivers/infiniband/ulp/ipoib/ipoib.h
@@ -549,7 +549,8 @@ void ipoib_path_iter_read(struct ipoib_path_iter *iter,
int ipoib_mcast_attach(struct net_device *dev, u16 mlid,
union ib_gid *mgid, int set_qkey);
void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list);
-struct ipoib_mcast *__ipoib_mcast_find(struct net_device *dev, void *mgid);
+void ipoib_check_and_add_mcast_sendonly(struct ipoib_dev_priv *priv, u8 *mgid,
+ struct list_head *remove_list);
int ipoib_init_qp(struct net_device *dev);
int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 483ff20..620d9ca 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1150,7 +1150,6 @@ static void __ipoib_reap_neigh(struct ipoib_dev_priv *priv)
unsigned long flags;
int i;
LIST_HEAD(remove_list);
- struct ipoib_mcast *mcast;
struct net_device *dev = priv->dev;
if (test_bit(IPOIB_STOP_NEIGH_GC, &priv->flags))
@@ -1179,18 +1178,8 @@ static void __ipoib_reap_neigh(struct ipoib_dev_priv *priv)
lockdep_is_held(&priv->lock))) != NULL) {
/* was the neigh idle for two GC periods */
if (time_after(neigh_obsolete, neigh->alive)) {
- u8 *mgid = neigh->daddr + 4;
- /* Is this multicast ? */
- if (*mgid == 0xff) {
- mcast = __ipoib_mcast_find(dev, mgid);
-
- if (mcast && test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) {
- list_del(&mcast->list);
- rb_erase(&mcast->rb_node, &priv->multicast_tree);
- list_add_tail(&mcast->list, &remove_list);
- }
- }
+ ipoib_check_and_add_mcast_sendonly(priv, neigh->daddr + 4, &remove_list);
rcu_assign_pointer(*np,
rcu_dereference_protected(neigh->hnext,
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index 8acb420a..ab79b87 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -153,7 +153,7 @@ static struct ipoib_mcast *ipoib_mcast_alloc(struct net_device *dev,
return mcast;
}
-struct ipoib_mcast *__ipoib_mcast_find(struct net_device *dev, void *mgid)
+static struct ipoib_mcast *__ipoib_mcast_find(struct net_device *dev, void *mgid)
{
struct ipoib_dev_priv *priv = netdev_priv(dev);
struct rb_node *n = priv->multicast_tree.rb_node;
@@ -704,6 +704,25 @@ static int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast)
return 0;
}
+/*
+ * Check if the multicast group is sendonly. If so remove it from the maps
+ * and add to the remove list
+ */
+void ipoib_check_and_add_mcast_sendonly(struct ipoib_dev_priv *priv, u8 *mgid,
+ struct list_head *remove_list)
+{
+ /* Is this multicast ? */
+ if (*mgid == 0xff) {
+ struct ipoib_mcast *mcast = __ipoib_mcast_find(priv->dev, mgid);
+
+ if (mcast && test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) {
+ list_del(&mcast->list);
+ rb_erase(&mcast->rb_node, &priv->multicast_tree);
+ list_add_tail(&mcast->list, remove_list);
+ }
+ }
+}
+
void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list)
{
struct ipoib_mcast *mcast, *tmcast;
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] Isolate common list remove code
[not found] ` <20151221144303.357400814-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
@ 2015-12-21 14:57 ` Leon Romanovsky
[not found] ` <20151221145712.GA11603-2ukJVAZIZ/Y@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2015-12-21 14:57 UTC (permalink / raw)
To: Christoph Lameter
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA, ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
On Mon, Dec 21, 2015 at 08:42:53AM -0600, Christoph Lameter wrote:
> Code cleanup to remove multicast specific code from ipoib_main.c
>
> The removal of a list of multicast groups occurs in three places.
> Create a new function ipoib_mcast_remove_list(). Use this new
> function in ipoib_main.c too.
> That in turn allows the dropping of two functions that were
> exported from ipoib_multicast.c for expiration of mc groups.
>
> Reviewed-by: Iraq Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Iraq Weiny --> Ira Weiny
....
> +void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list)
Will it be beneficial to inline this function?
> +{
> + struct ipoib_mcast *mcast, *tmcast;
> +
> + list_for_each_entry_safe(mcast, tmcast, remove_list, list) {
> + ipoib_mcast_leave(dev, mcast);
> + ipoib_mcast_free(mcast);
> + }
> +}
> +
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] Isolate common list remove code
[not found] ` <20151221145712.GA11603-2ukJVAZIZ/Y@public.gmane.org>
@ 2015-12-21 15:08 ` Christoph Lameter
0 siblings, 0 replies; 7+ messages in thread
From: Christoph Lameter @ 2015-12-21 15:08 UTC (permalink / raw)
To: Leon Romanovsky
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA, ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
On Mon, 21 Dec 2015, Leon Romanovsky wrote:
> On Mon, Dec 21, 2015 at 08:42:53AM -0600, Christoph Lameter wrote:
> > Code cleanup to remove multicast specific code from ipoib_main.c
> >
> > The removal of a list of multicast groups occurs in three places.
> > Create a new function ipoib_mcast_remove_list(). Use this new
> > function in ipoib_main.c too.
> > That in turn allows the dropping of two functions that were
> > exported from ipoib_multicast.c for expiration of mc groups.
> >
> > Reviewed-by: Iraq Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Iraq Weiny --> Ira Weiny
Ohh.. Bad typo.
> > +void ipoib_mcast_remove_list(struct net_device *dev, struct list_head *remove_list)
> Will it be beneficial to inline this function?
As far as I know it is not run in a latency critical context and the code
is too heavy for that. In particular we are calling other functions that
are not inlined.
> > +{
> > + struct ipoib_mcast *mcast, *tmcast;
> > +
> > + list_for_each_entry_safe(mcast, tmcast, remove_list, list) {
> > + ipoib_mcast_leave(dev, mcast);
> > + ipoib_mcast_free(mcast);
> > + }
> > +}
> > +
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] IB multicast cleanup patches V2
[not found] ` <20151221144252.575119561-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
@ 2015-12-23 18:11 ` Doug Ledford
[not found] ` <567AE3BF.6020407-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Doug Ledford @ 2015-12-23 18:11 UTC (permalink / raw)
To: Christoph Lameter
Cc: ira.weiny-ral2JQCrhuEAvxtiuMwx3w,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe, Erez Shitrit
[-- Attachment #1: Type: text/plain, Size: 910 bytes --]
On 12/21/2015 09:42 AM, Christoph Lameter wrote:
> V1->V2
> - Add Reviewed by's for first patch from Ira Weiny
> - Change name of ipoib_check_mcast_sendonly() to
> ipoib_check_and_add_mcast_sendonly() as requested by Ira
>
> This patchset cleans up the code a bit after the last round of multicast
> patches related to the sendonly join logic. Some of the bits of code
> landed in ipoib_main.c instead of ipoib_multicast.c.
>
> - Move the multicastbits into that file so that everything is neatly together
> - Reduce the number of functions exported from ipoib_multicast.c
>
> This patchset can be retrieved from a git repo on kernel.org via
>
> git pull git://git.kernel.org/pub/scm/linux/kernel/git/christoph/rdma.git cleanup
>
Thanks, applied (with Ira's name fixed).
--
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
GPG KeyID: 0E572FDD
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] IB multicast cleanup patches V2
[not found] ` <567AE3BF.6020407-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2015-12-23 20:02 ` ira.weiny
0 siblings, 0 replies; 7+ messages in thread
From: ira.weiny @ 2015-12-23 20:02 UTC (permalink / raw)
To: Doug Ledford
Cc: Christoph Lameter, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
Jason Gunthorpe, Erez Shitrit
On Wed, Dec 23, 2015 at 01:11:11PM -0500, Doug Ledford wrote:
> On 12/21/2015 09:42 AM, Christoph Lameter wrote:
> > V1->V2
> > - Add Reviewed by's for first patch from Ira Weiny
> > - Change name of ipoib_check_mcast_sendonly() to
> > ipoib_check_and_add_mcast_sendonly() as requested by Ira
> >
> > This patchset cleans up the code a bit after the last round of multicast
> > patches related to the sendonly join logic. Some of the bits of code
> > landed in ipoib_main.c instead of ipoib_multicast.c.
> >
> > - Move the multicastbits into that file so that everything is neatly together
> > - Reduce the number of functions exported from ipoib_multicast.c
> >
> > This patchset can be retrieved from a git repo on kernel.org via
> >
> > git pull git://git.kernel.org/pub/scm/linux/kernel/git/christoph/rdma.git cleanup
> >
>
> Thanks, applied (with Ira's name fixed).
Thanks! :-D
Ira
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-12-23 20:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-21 14:42 [PATCH 0/2] IB multicast cleanup patches V2 Christoph Lameter
2015-12-21 14:42 ` [PATCH 1/2] Isolate common list remove code Christoph Lameter
[not found] ` <20151221144303.357400814-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-21 14:57 ` Leon Romanovsky
[not found] ` <20151221145712.GA11603-2ukJVAZIZ/Y@public.gmane.org>
2015-12-21 15:08 ` Christoph Lameter
2015-12-21 14:42 ` [PATCH 2/2] Move multicast specific code out of ipoib_main.c Christoph Lameter
[not found] ` <20151221144252.575119561-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-23 18:11 ` [PATCH 0/2] IB multicast cleanup patches V2 Doug Ledford
[not found] ` <567AE3BF.6020407-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-23 20:02 ` ira.weiny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).