Panics the same way, unfortunately. I was thinking of bisecting between 17th and 27th of November; the src tree gets screwed after this panic (I guess bad spot into the cvs update), so I have to recover from scratch.
Chavdar Ivanov On Sat, 3 Dec 2016 at 12:01 Michael van Elst <mlel...@serpens.de> wrote: > ci4...@gmail.com (Chavdar Ivanov) writes: > > >#6 0xffffffff801529b9 in scsipi_done () > >#7 0xffffffff8043d5fe in mpt_drain_queue () > >#8 0xffffffff8043dccd in mpt_intr () > > >sd1: busy < 0 > >panic: iostat_unbusy > > Every I/O request increments a busy counter when issued to the controller > and decrements the busy counter when completed. > > Somehow the counter went negative, probably because the code now > runs outside of the big kernel lock. > > Can you try the following patch to see wether it stops the panic? > > --- sd.c.ORIG 2016-12-03 13:02:24.000000000 +0100 > +++ sd.c.NEW 2016-12-03 13:03:02.000000000 +0100 > @@ -966,8 +966,10 @@ > bp->b_resid = bp->b_bcount; > } > > + KERNEL_LOCK(1, NULL); > disk_unbusy(&sd->sc_dk, bp->b_bcount - bp->b_resid, > (bp->b_flags & B_READ)); > + KERNEL_UNLOCK_ONE(NULL); > rnd_add_uint32(&sd->rnd_source, bp->b_rawblkno); > > biodone(bp); > > -- > -- > Michael van Elst > Internet: mlel...@serpens.de > "A potential Snark may lurk in every tree." >