NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-alpha/42174



The following reply was made to PR port-alpha/42174; it has been noted by GNATS.

From: "Michael L. Hitch" <mhitch%lightning.msu.montana.edu@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: dmarquess%gmail.com@localhost
Subject: Re: port-alpha/42174
Date: Mon, 2 Nov 2009 11:22:33 -0700 (MST)

 On Mon, 2 Nov 2009, Dustin Marquess wrote:
 
 > I just hit:
 >
 > panic: kernel diagnostic assertion "pcg->pcg_avail == 0" failed: file
 > "../../../../kern/subr_pool.c", line 2580
 
    Hmm, I wonder if this might be related to some of the pool cache
 corruption I've seen at times.
 
 > Not sure if that's related to DIAGNOSTIC or LOCKDEBUG.  If it's
 > related to DIAGNOSTIC I'll recompile with that disabled for now.
 
    The KASSERT() is enabled by DIAGNOSTIC, which I now see isn't enabled
 in my kernel and would explain why I haven't seen this happen.  I
 would presume that the condition being tested shouldn't have happened,
 and ignoring it by turning off DIAGNOSTIC would likely just result in
 problems later.
 
    There's a couple of things you can try that essentially disable the
 use of using pool cache entries to shootdown tlbs.  One is a variable
 you can patch on boot or change in the source to disable all the pool
 caching.  The variable is pool_cache_disable in sys/kern/subr_pool.c
 about line 182.  This can also be set temporarily on boot by using
 the -d flag to enter the debugger on startup and setting it with the
 command "write pool_cache_disable 1" and continuing.
 
    The other thing is to change the maximum number of TLB entries to
 shootdown from 6 to 0 in sys/arch/alpha/alpha/pmap.c, about line 433.
 This will force the tlb shootdown routine to always invalid all tlb
 entries and never attempt to use pool cache entries.
 
 --
 Michael L. Hitch                       mhitch%montana.edu@localhost
 Computer Consultant
 Information Technology Center
 Montana State University       Bozeman, MT     USA
 


Home | Main Index | Thread Index | Old Index