tech-kern archive

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

Re: amd64 panics w/XEN_DOM0, not GENERIC



On Wed, Aug 20, 2008 at 11:03:47PM +0200, Manuel Bouyer wrote:
> Could you try a GENERIC+DEBUG+DIAGNOSTIC kernel ? XEN3_DOM0 has
> options DEBUG
> options DIAGNOSTIC
> while GENERIC doesn't.

Also please try a XEN3_DOM0 kernel with the attached patch. It should give more
details on the source of the problem (the failing function should now show
up in the stack trace).

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: kern_physio.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_physio.c,v
retrieving revision 1.87
diff -u -p -u -r1.87 kern_physio.c
--- kern_physio.c       15 Feb 2008 13:46:04 -0000      1.87
+++ kern_physio.c       20 Aug 2008 21:08:35 -0000
@@ -210,10 +210,13 @@ physio_biodone(struct buf *bp)
 #if defined(DIAGNOSTIC)
        struct physio_stat *ps = bp->b_private;
        size_t todo = bp->b_bufsize;
+       size_t done = bp->b_bcount - bp->b_resid;
 
        KASSERT(ps->ps_running > 0);
        KASSERT(bp->b_bcount <= todo);
        KASSERT(bp->b_resid <= bp->b_bcount);
+       if (done == todo)
+               KASSERT(bp->b_error == 0);
 #endif /* defined(DIAGNOSTIC) */
 
        workqueue_enqueue(physio_workqueue, &bp->b_work, NULL);


Home | Main Index | Thread Index | Old Index