Subject: Re: Panic from ftpd in 3.0 on Qube 2
To: None <port-cobalt@NetBSD.org, port-mips@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cobalt
Date: 06/15/2006 21:08:51
In article <051231160028.M0109778@mirage.ceres.dti.ne.jp>
I wrote last year:

> Okay, I get the similar panic on getting a 512MB file from i386
> even on -current kernel.
> ---
> trap: TLB miss (load or instr. fetch) in kernel mode
> status=0x2403, cause=0x8008, epc=0x801ad350, vaddr=0xcc3ce000
> pid=6260 cmd=ftpd usp=0x7fffccc8 ksp=0xcc3dfad0
> Stopped in pid 6260.1 (ftpd) at netbsd:r5k_pdcache_wb_range_32+0x9c:    cache   0x19,0x3c0(a0)
> db> tr
> r5k_pdcache_wb_range_32+9c (cc3cdc40,cc3ce200,5ea,5ea) ra 801b598c sz 0
> 801b58dc+b0 (cc3cdc40,cc3ce200,5ea,5ea) ra 0 sz 0
> User-level: pid 6260.1
> db>
> ---
> 
> I guess this is a different problem (data corruption) fixed in 3.0
> recently, and maybe Rm5200 (or R5000) specific.
> 
> I'll track what is going later.

After a bunch of tests with various attempts in ~six months,
adding "options SOSEND_NO_LOAN" seems to fix this problem.

Maybe some zero-copy TCP/UDP code doesn't wire pages properly
on disk->network xfer then some page of mbuf to be sent by
the Ethernet driver is invalidated from PTE on some memory
shortage situation?

Is it okay to add the option to cobalt/conf/std.cobalt
and the similar files of other mips ports for workaround?
(the panic also happens on sgimips IP32 + tlp)
---
Izumi Tsutsui