netdev
[Top] [All Lists]

Re: ksoftirqd uses 99% CPU triggered by network traffic (maybe RLT-8139

To: Francois Romieu <romieu@xxxxxxxxxxxxx>
Subject: Re: ksoftirqd uses 99% CPU triggered by network traffic (maybe RLT-8139 related)
From: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
Date: Fri, 06 Aug 2004 00:28:40 +0900
Cc: Hector Martin <hector@xxxxxxxxxxxxxx>, Pasi Sjoholm <ptsjohol@xxxxxxxxx>, Robert Olsson <Robert.Olsson@xxxxxxxxxxx>, Linux-Kernel <linux-kernel@xxxxxxxxxxxxxxx>, akpm@xxxxxxxx, netdev@xxxxxxxxxxx, brad@xxxxxxxxxx, shemminger@xxxxxxxx
In-reply-to: <20040805132233.A7430@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <Pine.LNX.4.44.0408041915510.14609-100000@xxxxxxxxxxxxxxx> <41120882.40302@xxxxxxxxxxxxxx> <41121237.4050305@xxxxxxxxxxxxxx> <20040805132233.A7430@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50
Francois Romieu <romieu@xxxxxxxxxxxxx> writes:

> Hector Martin <hector@xxxxxxxxxxxxxx> :
> [...]
> > using a stabler TCP/IP stack. This one works OK. No problem so far... 
> > anyway, even though it stopped and I had to restart the PS2 some times, 
> > the PC has been receiving packets with no reboot whatsoever. I think 
> > it's fixed :)
> 
> Ok, I'll send the final version of the patches for inclusion in -netdev
> and/or -mm this evening. It will provide a broader testing.

Bit interesting.

On the final analysis, what was the cause of this problem?
I found the following in progguide-8100(100).pdf. Does this help something?

2.5 Software Issues

This section covers the handling of various data reception topics.

    1. Handling a Receive Buffer Overflow:
       The Rx DMA (FIFO to buffer) is stopped. The CAPR must be
       updated first to dismiss the ISR (RxBufferOverflow) event. The
       correct actions to process RxBufOvw are:
           a. Update CAPR.
           b. Write a 1 to ISR (ROK).
       The Rx DMA resumes after step b.

    2. Handling RxFIFOOvw:
       When RxFIFOOvw occurs, all incoming packets are discarded.
       Clearing ISR (RxFIFOOvw) doesn t dismiss the RxFIFOOvw event.
       To dismiss the RxFIFOOvw event, the ISR (RxBufOvw) must be
       written with a 1.

-- 
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>