[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200711260929.22888.ossthema@de.ibm.com>
Date: Mon, 26 Nov 2007 09:29:22 +0100
From: Jan-Bernd Themann <ossthema@...ibm.com>
To: Roel Kluin <12o3l@...cali.nl>
Cc: netdev@...r.kernel.org, themann@...ibm.com
Subject: Re: cqe, cqe_skb: return when both or when either NULL?
Hi
On Friday 23 November 2007 22:54, Roel Kluin wrote:
> In function ehea_poll() drivers/net/ehea/ehea_main.c:667, in a loop cqe and
> cqe_skb - both struct ehea_cqe pointers - are assigned:
> --
> cqe = ehea_poll_rq1(pr->qp, &wqe_index);
> cqe_skb = ehea_poll_cq(pr->send_cq);
>
> if (!cqe && !cqe_skb)
> return rx;
> --
> Is it intended that only when both are NULL there is a return, or should there
> be returned when either is NULL (and the && replaced with ||).
The AND is intended. We can only return if cqe==NULL. If cqe!=NULL and we
return anyway, more packets are in the receive queue and the stack won't call poll again
until the next interrupt occurs. Received packets might stay unprocessed for quite
some time in the queue.
In case there are more resources (SKBs) from send side
to be freed we'll do an extra round.
Regards,
Jan-Bernd
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists