netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* netpoll question
@ 2007-03-28 22:03 Steve Wise
  2007-03-28 23:28 ` Mark Huth
  0 siblings, 1 reply; 4+ messages in thread
From: Steve Wise @ 2007-03-28 22:03 UTC (permalink / raw)
  To: netdev

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?
>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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netpoll question
  2007-03-28 22:03 netpoll question Steve Wise
@ 2007-03-28 23:28 ` Mark Huth
  2007-03-29  1:00   ` Steve Wise
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Huth @ 2007-03-28 23:28 UTC (permalink / raw)
  To: Steve Wise; +Cc: netdev

Steve Wise wrote:
> 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?
> >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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netpoll question
  2007-03-28 23:28 ` Mark Huth
@ 2007-03-29  1:00   ` Steve Wise
  2007-03-29  1:08     ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Steve Wise @ 2007-03-29  1:00 UTC (permalink / raw)
  To: Mark Huth; +Cc: netdev

On Wed, 2007-03-28 at 16:28 -0700, Mark Huth wrote:
> Steve Wise wrote:
> > 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?
> > >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"?


Steve.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netpoll question
  2007-03-29  1:00   ` Steve Wise
@ 2007-03-29  1:08     ` Stephen Hemminger
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2007-03-29  1:08 UTC (permalink / raw)
  To: Steve Wise; +Cc: Mark Huth, netdev

Steve Wise wrote:
> On Wed, 2007-03-28 at 16:28 -0700, Mark Huth wrote:
>   
>> Steve Wise wrote:
>>     
>>> 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?
>>> >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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-03-29  4:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-28 22:03 netpoll question Steve Wise
2007-03-28 23:28 ` Mark Huth
2007-03-29  1:00   ` Steve Wise
2007-03-29  1:08     ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).