Subject: Re: Panic from ftpd in 3.0 on Qube 2
To: None <port-cobalt@NetBSD.org, port-mips@NetBSD.org>
From: Izumi Tsutsui <firstname.lastname@example.org>
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
> 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
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)