Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jan 1999 04:06:48 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        current@FreeBSD.ORG
Subject:   Re: panic: found dirty cache page 0xf046f1c0 
Message-ID:  <199901232006.EAA00970@spinner.netplex.com.au>
In-Reply-To: Your message of "Sat, 23 Jan 1999 11:55:49 PST." <199901231955.LAA48625@apollo.backplane.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote:
[..]
> :Oh, one other thing that occurred to me..  Under 4.0-current, I regularly 
> :(ie: within 30 seconds of boot) get if_de tranmitter underflows.  My 
> :console corruption was happening at the instant that de0 was being 
> :configured with ifconfig.  exmh is running to a remote display over that 
> :de0 interface.
> :
> :Under Jan 16 3.0-current, I do not get that tranmitter underflow..
> :
> :The only thin I can think of about if_de that's unusual that is VM related
> :(apart from the complexity of the code) is that it uses configmalloc().  I 
> :wonder if this is somehow setting the scene for the later failures?  It's 
> :certainly suspicious that has done strange things when being ifconfig'ed, 
> :including things like trashing the serial console on no less than a dozen 
> :occasions.
> :
> :Cheers,
> :-Peter
> 
>     Hmmm..  HMMMMMM.  contigmalloc, eh?   You might be onto something here.
>     I will investigate it.
> 
>     The problem was are having is that, somehow, a vm_page_t in the PQ_CACHE
>     is being set dirty.  
> 
>     Sinc vm_page_cache() panics if m->dirty is set, then m->dirty must be get
    ting
>     set *after* the page has been moved to the cache.
> 
>     contigmalloc() looks suspicious.

Damn, I must be loosing my mind.  if_de doesn't use contigmalloc.. it 
either did, or was going to as a result of the problem of the transmit 
descriptor array crossing a page boundary that had to be contiguous.  In 
the end there were two seperate malloc's, each less than PAGE_SIZE.

Cheers,
-Peter




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901232006.EAA00970>