Hello,

Eric, sorry for the delay.

On (20/12/11 10:03), Eric Biggers wrote:
> > [..]
> > 
> > [ 1598.658233]  __rwsem_down_read_failed_common+0x186/0x201
> > [ 1598.658235]  call_rwsem_down_read_failed+0x14/0x30
> > [ 1598.658238]  down_read+0x2e/0x45
> > [ 1598.658240]  rmap_walk_file+0x73/0x1ce
> > [ 1598.658242]  page_referenced+0x10d/0x154
> > [ 1598.658247]  shrink_active_list+0x1d4/0x475
> > [ 1598.658250]  shrink_node+0x27e/0x661
> > [ 1598.658254]  try_to_free_pages+0x425/0x7ec
> > [ 1598.658258]  __alloc_pages_nodemask+0x80b/0x1514
> > [ 1598.658279]  __do_page_cache_readahead+0xd4/0x1a9
> > [ 1598.658282]  filemap_fault+0x346/0x573
> > [ 1598.658287]  ext4_filemap_fault+0x31/0x44
> 
> Could you provide some more information about what is causing these actual
> lockups for you?  Are there more stack traces?

I think I have some leads, and, just like you said, this deos not appear
to be ext4 related.

A likely root cause for the lockups I'm observing, is that kswapd
and virtio_balloon have reverse locking order for THP pages:

        down_write(mapping->i_mmap_rwsem)  -->  page->PG_locked
vs
        page->PG_locked --> down_read(mapping->i_mmap_rwsem)

        -ss

Reply via email to