Re: [PATCH] ipv4: remove a call to skb_queue_len() in inet_diag.c

2007-02-04 Thread Thomas Hisch

On 2/4/07, David Miller <[EMAIL PROTECTED]> wrote:

From: Thomas Hisch <[EMAIL PROTECTED]>
Date: Sun, 4 Feb 2007 15:29:21 +0100

> remove unneeded call to skb_queue_len (skb_dequeue already checks queuelen) 
and
> replace a sizeof() by a Netlink Macro
>
> Signed-off-by: Thomas Hisch <[EMAIL PROTECTED]>

You don't understand the code you are editing :-)

We want to process the number of packets present when we
start the function, other threads can add more packets to
the queue meanwhile and we don't want to keep dequeueing
in that case or else we can theoretically run forever with
a fast enough producer.

Also, please post all networking patches to netdev@vger.kernel.org,
the majority of the networking developers do not read linux-kernel.

Thank you.


thanks for the advice. next time i should look more closely at the code ;)

i thought that this was a candidate for a cleanup as no other netlink
protocol used such a while loop condition.

Thomas.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ipv4: remove a call to skb_queue_len() in inet_diag.c

2007-02-04 Thread David Miller
From: Thomas Hisch <[EMAIL PROTECTED]>
Date: Sun, 4 Feb 2007 15:29:21 +0100

> remove unneeded call to skb_queue_len (skb_dequeue already checks queuelen) 
> and
> replace a sizeof() by a Netlink Macro
> 
> Signed-off-by: Thomas Hisch <[EMAIL PROTECTED]>

You don't understand the code you are editing :-)

We want to process the number of packets present when we
start the function, other threads can add more packets to
the queue meanwhile and we don't want to keep dequeueing
in that case or else we can theoretically run forever with
a fast enough producer.

Also, please post all networking patches to netdev@vger.kernel.org,
the majority of the networking developers do not read linux-kernel.

Thank you.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] ipv4: remove a call to skb_queue_len() in inet_diag.c

2007-02-04 Thread Thomas Hisch

remove unneeded call to skb_queue_len (skb_dequeue already checks queuelen) and
replace a sizeof() by a Netlink Macro

Signed-off-by: Thomas Hisch <[EMAIL PROTECTED]>
---

sorry, my previous version of this patch didn't conform to the Codingstyle 
document.
now everything should be fine.

 net/ipv4/inet_diag.c |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index 77761ac..9cf27c7 100644
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -846,7 +846,7 @@ static inline void inet_diag_rcv_skb(struct sk_buff *skb)
int err;
struct nlmsghdr *nlh = (struct nlmsghdr *)skb->data;
 
-   if (nlh->nlmsg_len < sizeof(*nlh) ||
+   if (nlh->nlmsg_len < NLMSG_HDRLEN ||
skb->len < nlh->nlmsg_len)
return;
err = inet_diag_rcv_msg(skb, nlh);
@@ -858,9 +858,8 @@ static inline void inet_diag_rcv_skb(struct sk_buff *skb)
 static void inet_diag_rcv(struct sock *sk, int len)
 {
struct sk_buff *skb;
-   unsigned int qlen = skb_queue_len(&sk->sk_receive_queue);
 
-   while (qlen-- && (skb = skb_dequeue(&sk->sk_receive_queue))) {
+   while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) {
inet_diag_rcv_skb(skb);
kfree_skb(skb);
}
-- 
1.5.0.rc3.22.g5057
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html