[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1242068453-5124-1-git-send-email-hong.pham@windriver.com>
Date: Mon, 11 May 2009 15:00:52 -0400
From: "Hong H. Pham" <hong.pham@...driver.com>
To: netdev@...r.kernel.org
Cc: "Hong H. Pham" <hong.pham@...driver.com>
Subject: [PATCH 0/1] NIU: fix spurious interrupts
Hi,
I've tracked down a hang on a SPARC64 system (a Netra T5220 with 64 strands)
whenever the NIU is handling lots of receive traffic. The hang is
reproducible by running iperf with multiple TCP streams (eg. iperf -P16 ...),
with the SPARC box being the listener.
I've found that it's possible for an RX DMA interrupt to be triggered
while NAPI is in progress. When this happens, spurious interrupts will
keep being regenerated which will cause the CPU to hang. It's too busy
servicing the spurious interrupts, and the NIU NAPI handler (or anything
else on that CPU) never gets a chance to run.
In niu_schedule_napi(), if the logical device interrupt is unconditionally
masked out by calling __niu_fastpath_interrupt(), the hang goes away.
Regards,
Hong
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists