tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: uvm_pagealloc_strat locking against itself
On Sun, May 31, 2009 at 05:35:49AM +0900, Masao Uebayashi wrote:
> > mips32_KernIntr+84 (80407110,80406fa4,0,4) ra 802bc090 sz 128
> If the pool_get() call is really protected with splvm(), interrupt
> should not be raised now. I guess that interrupt handling is broken
> on your MIPS port?
Looking at the "ipending" arg (0x800 aka MIPS_INTR__MASK_1) of au_intr it was
an easy guess, and the following patch "fixes" it - have to look at the
interrupt setup in more details tomorrow.
Thanks for the hint,
Martin
Index: au_icu.c
===================================================================
RCS file: /cvsroot/src/sys/arch/mips/alchemy/au_icu.c,v
retrieving revision 1.23
diff -c -u -r1.23 au_icu.c
--- au_icu.c 28 Apr 2008 20:23:27 -0000 1.23
+++ au_icu.c 30 May 2009 22:33:07 -0000
@@ -99,7 +99,8 @@
MIPS_SOFT_INT_MASK_0, /* 2: IPL_SOFTNET */
MIPS_SOFT_INT_MASK_0|
MIPS_SOFT_INT_MASK_1|
- MIPS_INT_MASK_0, /* 3: IPL_VM */
+ MIPS_INT_MASK_0|
+ MIPS_INT_MASK_1, /* 3: IPL_VM */
MIPS_SOFT_INT_MASK_0|
MIPS_SOFT_INT_MASK_1|
MIPS_INT_MASK_0|
Home |
Main Index |
Thread Index |
Old Index