Re: netpoll question
From: Stephen Hemminger <hidden>
Date: 2007-03-29 04:38:17
Steve Wise wrote:
On Wed, 2007-03-28 at 16:28 -0700, Mark Huth wrote:quoted
Steve Wise wrote:quoted
Hey all, I have netpoll question. How does netpoll work with MSI/X, NAPI, and nics that setup multiple RSS style receive queues for a single port?quoted
From what I can tell, if you're doing something like netdump usingnetpoll for IO, then you might never process incoming packets that get posted to the rx queues not associated with the main netdevice structure because netpoll only calls the poll() function for the main netdev struct. Not the dummy netdevs setup for multiple rx queues. Is this the case or am I confused? Thanks, SteveYou are correct. Netpoll needs a bit of work, especially on the receive side, for multi-queue and some other possible problems related to taking locks when the system is frozen. If I get some time soon, I'm going to propose an overhaul to address some of these issues that show up in the kgdboe and netdump cases. Mark HuthHey Mark, What are your thoughts on how to implement this? Scrub every softnet_data queue->poll_list for every cpu? Or perhaps its better to have a new function ptr off the netdev that sez "poll all rx queues"?
The existing netpoll needs a complete redesign. Perhaps a separate hook into a slow true polled mode in the hardware, as it is now it causes all sort of semantic assumptions, that high speed network drivers need, to be violated. Given that the only users of netpoll are kgdb and netdump (both not in mainline), there is less effort to work on it.