public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* what is the use of poll function  int a net_device struct
@ 2013-01-14 14:21 horseriver
  2013-01-15 13:20 ` Rami Rosen
  0 siblings, 1 reply; 3+ messages in thread
From: horseriver @ 2013-01-14 14:21 UTC (permalink / raw)
  To: netdev

hi:

   Where is the handler function defined  for an netcard's  IRQ  ? 
   When an IRQ has reached,  how to wake_up the wait_queue of the socket?

thanks1

 

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

* Re: what is the use of poll function int a net_device struct
  2013-01-15 13:20 ` Rami Rosen
@ 2013-01-15  0:52   ` horseriver
  0 siblings, 0 replies; 3+ messages in thread
From: horseriver @ 2013-01-15  0:52 UTC (permalink / raw)
  To: Rami Rosen; +Cc: netdev

On Tue, Jan 15, 2013 at 03:20:39PM +0200, Rami Rosen wrote:
> Hi,
> 
> On Mon, Jan 14, 2013 at 4:21 PM, horseriver <horserivers@gmail.com> wrote:
> > Where is the handler function defined  for an netcard's  IRQ
> 
> look for the request_irq() method; you register the handler with this method.
> 
> for example,
> in e1000e:
> 
> http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e1000e/netdev.c
> 
> err = request_irq(adapter->msix_entries[vector].vector,
>                            e1000_intr_msix_rx, 0,
>                           adapter->rx_ring->name,
>                              netdev);
> 
> so the handler is   e1000_intr_msix_rx().
> 
> When an IRQ has reached,  how to wake_up the wait_queue of the socket?
> TCP/UDP packet goes up from the driver to L3 and then to L4 (in case
> it is for this machine). In L4 you should find the
> wake_up of the wait_queue of the socket.
  
  thanks!
  
  In L4, wake_up should be fired  by IRQ event.
  where is the code for fire this callback ?

  

> 
> Regards,
> Rami Rosen
> http://ramirose.wix.com/ramirosen

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

* Re: what is the use of poll function int a net_device struct
  2013-01-14 14:21 what is the use of poll function int a net_device struct horseriver
@ 2013-01-15 13:20 ` Rami Rosen
  2013-01-15  0:52   ` horseriver
  0 siblings, 1 reply; 3+ messages in thread
From: Rami Rosen @ 2013-01-15 13:20 UTC (permalink / raw)
  To: horseriver; +Cc: netdev

Hi,

On Mon, Jan 14, 2013 at 4:21 PM, horseriver <horserivers@gmail.com> wrote:
> Where is the handler function defined  for an netcard's  IRQ

look for the request_irq() method; you register the handler with this method.

for example,
in e1000e:

http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e1000e/netdev.c

err = request_irq(adapter->msix_entries[vector].vector,
                           e1000_intr_msix_rx, 0,
                          adapter->rx_ring->name,
                             netdev);

so the handler is   e1000_intr_msix_rx().

When an IRQ has reached,  how to wake_up the wait_queue of the socket?
TCP/UDP packet goes up from the driver to L3 and then to L4 (in case
it is for this machine). In L4 you should find the
wake_up of the wait_queue of the socket.

Regards,
Rami Rosen
http://ramirose.wix.com/ramirosen

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

end of thread, other threads:[~2013-01-16  4:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-14 14:21 what is the use of poll function int a net_device struct horseriver
2013-01-15 13:20 ` Rami Rosen
2013-01-15  0:52   ` horseriver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox