I've reproed it with all daemons & programs killed - see new attachment. Apparently one of memhog threads went to sleep on malloc while adding entry to the radix tree:
<6>[ 1789.980812] memhog R running task 0 3039 3036 0x00020000 <4>[ 1789.980812] ffff88003309dc38 0000000000000086 ffff880000010800 0000000000015580 <4>[ 1789.980812] ffff88003992c7c0 0000000000015580 0000000000015580 0000000000015580 <4>[ 1789.980812] 0000000000015580 ffff88003992c7c8 0000000000015580 0000000000015580 <4>[ 1789.980812] Call Trace: <4>[ 1789.980812] [<ffffffff8105630c>] __cond_resched+0x1c/0x50 <4>[ 1789.980812] [<ffffffff815215ab>] _cond_resched+0x2b/0x40 <4>[ 1789.980812] [<ffffffff811103e9>] kmem_cache_alloc+0xd9/0x150 <4>[ 1789.980812] [<ffffffff81271db6>] ? radix_tree_preload+0x36/0xa0 <4>[ 1789.980812] [<ffffffff81271db6>] radix_tree_preload+0x36/0xa0 <4>[ 1789.980812] [<ffffffff810ff5d1>] add_to_swap_cache+0x21/0xd0 <4>[ 1789.980812] [<ffffffff810ff706>] read_swap_cache_async+0x86/0x120 <4>[ 1789.980812] [<ffffffff810ffe96>] ? valid_swaphandles+0x166/0x190 <4>[ 1789.980812] [<ffffffff810ff81f>] swapin_readahead+0x7f/0xb0 <4>[ 1789.980812] [<ffffffff810f373e>] do_swap_page+0x2ce/0x420 <4>[ 1789.980812] [<ffffffff8104a155>] ? finish_task_switch+0x65/0x120 <4>[ 1789.980812] [<ffffffff810129ce>] ? common_interrupt+0xe/0x13 <4>[ 1789.980812] [<ffffffff810f3b5b>] handle_mm_fault+0x2cb/0x3c0 <4>[ 1789.980812] [<ffffffff81032439>] ? default_spin_lock_flags+0x9/0x10 <4>[ 1789.980812] [<ffffffff81525fba>] do_page_fault+0x16a/0x370 <4>[ 1789.980812] [<ffffffff81523975>] page_fault+0x25/0x30
while other thread then wants to read this very same entry. I have no idea why kswapd does not get woken up and swap something to unblock this thread.
I've reproed it with all daemons & programs killed - see new attachment. Apparently one of memhog threads went to sleep on malloc while adding entry to the radix tree:
<6>[ 1789.980812] memhog R running task 0 3039 3036 0x00020000 30c>] __cond_ resched+ 0x1c/0x50 5ab>] _cond_resched+ 0x2b/0x40 3e9>] kmem_cache_ alloc+0xd9/ 0x150 db6>] ? radix_tree_ preload+ 0x36/0xa0 db6>] radix_tree_ preload+ 0x36/0xa0 5d1>] add_to_ swap_cache+ 0x21/0xd0 706>] read_swap_ cache_async+ 0x86/0x120 e96>] ? valid_swaphandl es+0x166/ 0x190 81f>] swapin_ readahead+ 0x7f/0xb0 73e>] do_swap_ page+0x2ce/ 0x420 155>] ? finish_ task_switch+ 0x65/0x120 9ce>] ? common_ interrupt+ 0xe/0x13 b5b>] handle_ mm_fault+ 0x2cb/0x3c0 439>] ? default_ spin_lock_ flags+0x9/ 0x10 fba>] do_page_ fault+0x16a/ 0x370 975>] page_fault+ 0x25/0x30
<4>[ 1789.980812] ffff88003309dc38 0000000000000086 ffff880000010800 0000000000015580
<4>[ 1789.980812] ffff88003992c7c0 0000000000015580 0000000000015580 0000000000015580
<4>[ 1789.980812] 0000000000015580 ffff88003992c7c8 0000000000015580 0000000000015580
<4>[ 1789.980812] Call Trace:
<4>[ 1789.980812] [<ffffffff81056
<4>[ 1789.980812] [<ffffffff81521
<4>[ 1789.980812] [<ffffffff81110
<4>[ 1789.980812] [<ffffffff81271
<4>[ 1789.980812] [<ffffffff81271
<4>[ 1789.980812] [<ffffffff810ff
<4>[ 1789.980812] [<ffffffff810ff
<4>[ 1789.980812] [<ffffffff810ff
<4>[ 1789.980812] [<ffffffff810ff
<4>[ 1789.980812] [<ffffffff810f3
<4>[ 1789.980812] [<ffffffff8104a
<4>[ 1789.980812] [<ffffffff81012
<4>[ 1789.980812] [<ffffffff810f3
<4>[ 1789.980812] [<ffffffff81032
<4>[ 1789.980812] [<ffffffff81525
<4>[ 1789.980812] [<ffffffff81523
while other thread then wants to read this very same entry. I have no idea why kswapd does not get woken up and swap something to unblock this thread.