lkml.org 
[lkml]   [2004]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Problem with Netpoll based netdumping and NAPI
[changed cc: from linux-net to netdev]

On Mon, Apr 19, 2004 at 06:21:48PM +0530, Hariprasad Nellitheertha wrote:
> Hi All,
>
> I am facing a problem while trying to network dump using LKCD. My
> debugging so far indicates that this is due to both NAPI and NETPOLL
> being enabled.
>
> I am using LKCD on the 2.6.5 kernel and both the client and server are
> i386 boxes. The dumping machine has an e100 card. I have built the kernel
> with both CONFIG_E100_NAPI and CONFIG_NET_POLL_CONTROLLER (and the other
> netpoll related options) selected.
>
> LKCD uses netpoll for its network dump implementation. The problem we see
> is that the network dump driver does not receive any packet from the
> card driver and hence dumping fails. In e100_intr(), we call
> netif_rx_schedule() if we are using the NAPI feature. netif_rx_schedule,
> in turn, ends up adding the processing of this packet to the NET_RX_SOFTIRQ
> softirq.

Netpoll should be manually calling the NAPI poll function like this
after calling the interrupt handler (in netpoll_poll()):

/* If scheduling is stopped, tickle NAPI bits */
if(trapped && np->dev->poll &&
test_bit(__LINK_STATE_RX_SCHED, &np->dev->state))
np->dev->poll(np->dev, &budget);

Please ensure that LKCD is calling netpoll_set_trap(1) which tells it
that packet scheduling is stopped.

I've tested this path primarily with tg3 and kgdb-over-ethernet, but
it should be functionally quite similar to e100 and lkcd.

--
Matt Mackall : http://www.selenic.com : Linux development and consulting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.053 / U:0.816 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site