Polling with multiqueue support
Ryan Stone
rysto32 at gmail.com
Thu Feb 24 15:39:06 UTC 2011
Ah, you've anticipated me. This is just the kind of thing that I had
in mind. I have some comments:
- Why allocate the poll_if_t in ether_poll_register_? If you let the
driver allocate it you don't have to worry about failure. And the
driver can embed it in its rx_ring so it doesn't have to worry about
malloc'ing it anyway. We can also put one it struct ifnet to preserve
the traditional ether_poll_register interface.
- I'd personally prefer it if ether_poll_register_mq didn't require a
struct ifnet to be passed in. Nothing seems to use the ifnet anymore
and here at $(WORK) we have some non-ifnets that actually register a
polling handler. Currently they just allocate a struct ifnet to make
the polling code happy but I don't see any reason to require one.
- Also, I don't quite understand why the separate TX step is necessary now.
More information about the freebsd-net
mailing list