DragonFly bugs List (threaded) for 2007-12
DragonFly BSD
DragonFly bugs List (threaded) for 2007-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: panic: vm_page_cache: caching a dirty page


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 6 Dec 2007 14:09:39 -0800 (PST)

:panic: vm_page_cache: caching a dirty page, pindex: 22
:mp_lock = 00000000; cpuid = 0
:boot() called on cpu#0
:Uptime: 11d2h43m2s
:
:(kgdb) bt
:#3  0xc029d6cf in vm_page_cache (m=0xc29f91d8) at /usr/src/sys/vm/vm_page.c:1244
:#4  0xc0291b22 in vm_fault_object (fs=0xef108c60, first_pindex=23, fault_type=2 '\002') at /usr/src/sys/vm/vm_fault.c:1093
:#5  0xc0292cdc in vm_fault (map=0xd3563150, vaddr=713383936, fault_type=2 '\002', fault_flags=8) at /usr/src/sys/vm/vm_fault.c:360

     Wow.  That's a really tiny window of opportunity.  vm_fault_object()
     is testing whether the page is dirty but it is still possible for
     the page to become dirty on a SMP system between that test and the
     call to vm_page_cache() due to a process running in user mode on
     a different cpu.

     I will put a second test in after the vm_page_protect() call in
     vm_page_cache().

						-Matt



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