Date: Thu, 24 Feb 2011 10:39:04 -0500 From: Ryan Stone <rysto32@gmail.com> To: Fabien Thomas <fabien.thomas@netasq.com> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: Polling with multiqueue support Message-ID: <AANLkTi=R=pwXwq6Q=_kXcF=Jupg9Z331JCzpoM%2BUUHOT@mail.gmail.com> In-Reply-To: <0B0B1ACC-C57B-4F74-85D5-DD2C7F2DAEA5@netasq.com> References: <0B0B1ACC-C57B-4F74-85D5-DD2C7F2DAEA5@netasq.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=R=pwXwq6Q=_kXcF=Jupg9Z331JCzpoM%2BUUHOT>