Subject: Re: Using RAIDframe disk in xenu
To: Yoshito Komatsu <ykomatsu@akaumigame.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 05/14/2005 15:11:25
On Sun, May 08, 2005 at 11:54:36PM +0900, Yoshito Komatsu wrote:
> Hello,
>
> I use NetBSD 3.0 BETA and Xen 2.0.5.
> I get a kernel panic in Domain-0 when I run netbsd-xenu using
> RAIDframe disk.
> Is it possible to use RAIDframe disk in xenu?
I've just upgraded one of my servers to the latest 3.0_BETA kernel and didn't
notice this issue. So it is possible.
>
> XEN0: NetBSD 3.0 BETA(2005/05/08)
> XENU: NetBSD 3.0 BETA(2005/05/08)
>
> panic: pool_get: rf_rad_pl: must have NOWAIT
> Stopped at netbsd:cpu_Debugger+0x4 leave
> cpu_Debugger(2ff,c9f31,2fe,401,c0657c4c) at netbsd:cpu_Debugger+0x4
> panic(c05bb5c0,c0569d73,c0720d50,c04cc336,c09a6700) at netbsd:panic+0x121
> pool_get(c0657c4c,2,c0e26000,10000,0) at netbsd:pool_get+0xf9
> rf_AllocRaidAccDesc(c0aa2000,72,401,0,1) at netbsd:rf_AllocRaidAccDesc+0x30
rf_AllocRaidAccDesc() calls pool_get() explicitely with PR_WAITOK.
> rf_DoAccess(c0aa200,72,1,401,0) at netbsd:rf_DoAccess+0x40
> raidstart(c0aa2000,c0b07000,0,0,1) at netbsd:raidstart+0x28f
> raidstrategy(c0b07000,1,c0a4c118,c0acc800,c09d1084) at
> netbsd:raidstrategy+0x136
> ccdstart(c0a6d000,c09cd000,0,c0a4c118,c0a4c118) at netbsd:ccdstart+0x137
> ccdstrategy(c09cd000,1,1,c09cd07c,0) at netbsd:ccdstrategy+0x142
> xbdback_do_io(c09cd000,c09cd000,c0720dc0,c0212b42,c0a4c118) at
OK, this is the problem. ccd will call the raidframe strategy from interrupt
context, and raidframe isn't expecting that. If you remplace this ccd with
a raid0 it should work.
I'll try to get ccd on top of raid fixed, though.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--