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