[openib-general] [PATCH/RFC 1/2] IB: Return "maybe_missed_event" hint from ib_req_notify_cq()
Roland Dreier
rdreier at cisco.com
Tue Nov 14 15:23:19 PST 2006
Shirley> From the code work through, if defering rotting packet
Shirley> process by return (missed_event &&
Shirley> netif_rx_reschedule(dev, 0)); Then the same dev->poll can
Shirley> be added to per cpu poll list twice: one is from
Shirley> netif_rx_reschedule, one is from napi return 1. That
Shirley> might explains packets out of order: when one poll
Shirley> finishes and reset LINK SCHED bit and the next interrupt
Shirley> runs on other cpu.
I don't think so. It's completely normal for dev->poll() to return 1
when there's more work to be done, so the networking core will just
move the device to the tail of the poll list. So I don't see why it
would make a difference if we actually do any work after
netif_rx_reschedule() or not.
On the other hand I still don't see why it helps to drop out of the
poll routine immediately even though we know there is more work to be
done, and the networking stack has told us it could handle more packets.
- R.
More information about the general
mailing list