* [PATCH] Add flow control to the portmapper
@ 2016-07-15 16:59 Shiraz Saleem
[not found] ` <1468601997-63396-1-git-send-email-shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Shiraz Saleem @ 2016-07-15 16:59 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mustafa Ismail,
Shiraz Saleem
From: Mustafa Ismail <mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Add flow control to port-mapper by changing ibnl unicast
to use netlink messaging with blocking.
Signed-off-by: Faisal Latif <faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Mustafa Ismail <mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Shiraz Saleem <shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/core/netlink.c | 4 ++--
include/net/netlink.h | 17 +++++++++++++++++
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/netlink.c b/drivers/infiniband/core/netlink.c
index 9b8c20c..6b09580 100644
--- a/drivers/infiniband/core/netlink.c
+++ b/drivers/infiniband/core/netlink.c
@@ -229,7 +229,7 @@ static void ibnl_rcv(struct sk_buff *skb)
int ibnl_unicast(struct sk_buff *skb, struct nlmsghdr *nlh,
__u32 pid)
{
- return nlmsg_unicast(nls, skb, pid);
+ return nlmsg_unicast_block(nls, skb, pid);
}
EXPORT_SYMBOL(ibnl_unicast);
@@ -251,7 +251,7 @@ int __init ibnl_init(void)
pr_warn("Failed to create netlink socket\n");
return -ENOMEM;
}
-
+ nls->sk_sndtimeo = 10 * HZ;
return 0;
}
diff --git a/include/net/netlink.h b/include/net/netlink.h
index 254a0fc..5434279 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -598,6 +598,23 @@ static inline int nlmsg_unicast(struct sock *sk, struct sk_buff *skb, u32 portid
}
/**
+ * nlmsg_unicast_block - unicast a netlink message with blocking
+ * @sk: netlink socket to spread message to
+ * @skb: netlink message as socket buffer
+ * @portid: netlink portid of the destination socket
+ */
+static inline int nlmsg_unicast_block(struct sock *sk, struct sk_buff *skb, u32 portid)
+{
+ int err;
+
+ err = netlink_unicast(sk, skb, portid, 0);
+ if (err > 0)
+ err = 0;
+
+ return err;
+}
+
+/**
* nlmsg_for_each_msg - iterate over a stream of messages
* @pos: loop counter, set to current message
* @head: head of message stream
--
2.8.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] 2+ messages in thread
* Re: [PATCH] Add flow control to the portmapper
[not found] ` <1468601997-63396-1-git-send-email-shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
@ 2016-07-16 6:37 ` Leon Romanovsky
0 siblings, 0 replies; 2+ messages in thread
From: Leon Romanovsky @ 2016-07-16 6:37 UTC (permalink / raw)
To: Shiraz Saleem
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
linux-rdma-u79uwXL29TY76Z2rM5mHXA,
swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mustafa Ismail
[-- Attachment #1: Type: text/plain, Size: 2688 bytes --]
On Fri, Jul 15, 2016 at 11:59:57AM -0500, Shiraz Saleem wrote:
> From: Mustafa Ismail <mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>
> Add flow control to port-mapper by changing ibnl unicast
> to use netlink messaging with blocking.
Please add justification why you need it, what the problem you are
solving and why it deserves adding new inline function to
include/net/netlink.h file.
>
> Signed-off-by: Faisal Latif <faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Mustafa Ismail <mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Shiraz Saleem <shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
> drivers/infiniband/core/netlink.c | 4 ++--
> include/net/netlink.h | 17 +++++++++++++++++
> 2 files changed, 19 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/infiniband/core/netlink.c b/drivers/infiniband/core/netlink.c
> index 9b8c20c..6b09580 100644
> --- a/drivers/infiniband/core/netlink.c
> +++ b/drivers/infiniband/core/netlink.c
> @@ -229,7 +229,7 @@ static void ibnl_rcv(struct sk_buff *skb)
> int ibnl_unicast(struct sk_buff *skb, struct nlmsghdr *nlh,
> __u32 pid)
> {
> - return nlmsg_unicast(nls, skb, pid);
> + return nlmsg_unicast_block(nls, skb, pid);
> }
> EXPORT_SYMBOL(ibnl_unicast);
>
> @@ -251,7 +251,7 @@ int __init ibnl_init(void)
> pr_warn("Failed to create netlink socket\n");
> return -ENOMEM;
> }
> -
> + nls->sk_sndtimeo = 10 * HZ;
> return 0;
> }
>
> diff --git a/include/net/netlink.h b/include/net/netlink.h
> index 254a0fc..5434279 100644
> --- a/include/net/netlink.h
> +++ b/include/net/netlink.h
> @@ -598,6 +598,23 @@ static inline int nlmsg_unicast(struct sock *sk, struct sk_buff *skb, u32 portid
> }
>
> /**
> + * nlmsg_unicast_block - unicast a netlink message with blocking
> + * @sk: netlink socket to spread message to
> + * @skb: netlink message as socket buffer
> + * @portid: netlink portid of the destination socket
> + */
> +static inline int nlmsg_unicast_block(struct sock *sk, struct sk_buff *skb, u32 portid)
> +{
> + int err;
> +
> + err = netlink_unicast(sk, skb, portid, 0);
> + if (err > 0)
> + err = 0;
> +
> + return err;
> +}
> +
> +/**
> * nlmsg_for_each_msg - iterate over a stream of messages
> * @pos: loop counter, set to current message
> * @head: head of message stream
> --
> 2.8.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
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-07-16 6:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-15 16:59 [PATCH] Add flow control to the portmapper Shiraz Saleem
[not found] ` <1468601997-63396-1-git-send-email-shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-07-16 6:37 ` Leon Romanovsky
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.