Re: [PATCH] ipv4: remove a call to skb_queue_len() in inet_diag.c
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
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
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