linux-nova
linux-nova copied to clipboard
Dead lock contention for DAX-mmap page fault with snapshot taking
Reproduce steps:
Run whisper vacation workload, then take a snapshot.
Root cause:
We do not allow DAX-COW page fault during snapshot taking. It will wait for snapshot taking finished.
Process 1 Process 2
Snapshot taking start
Page fault
down_write(&mm->mmap_sem)
// nova_restore_page_write
// waiting for snapshot complete in nova_mmap_to_new_blocks()
// Stuck here
down_write(&mm->mmap_sem) // nova_set_vma_read // Stuck here
Am I mistaken, or is this still not resolved?