Skip site navigation (1)Skip section navigation (2)
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>