status of PG_BUSY panic on i386

Matthew Dillon dillon at apollo.backplane.com
Thu Oct 11 12:11:09 PDT 2012


    I'm still trying to track this down, the last commit didn't fix it.

    I think what is going on is that a double-trap is occuring during
    a uiomove.  uiomove has a on-fault mechanic to catch illegal VM
    faults.

    However, if a normal VM fault (such as a pagein from swap or a
    zero-fill) occurs during a uiomove and the vm_fault() code then
    faults again on e.g. an illegal address, the pcb_onfault vector
    winds up getting re-executed and blowing up the kernel stack.

    Currently we are testing with a fix to this recursive on-fault
    issue and hope to get better backtraces for the i386 PG_BUSY crash
    to figure out what is actually happening.  I really want to get the
    i386 issues fixed for the release.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>



More information about the Kernel mailing list