Thread (4 messages) 4 messages, 3 authors, 2007-03-29

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 using
netpoll 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,


Steve
      
You 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 Huth
    
Hey 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help