[I am really sorry to be slow on responding] On Sat 21-07-18 10:39:05, Daniel Jordan wrote: > John's issue only happens using a LUKS encrypted swap partition, > unencrypted swap or swap encrypted without LUKS works fine. > > In one test (out5.txt) where most system memory is taken by anon pages > beforehand, the heavy direct reclaim that Michal noticed lasts for 24 > seconds, during which on average if I've crunched my numbers right, > John's test program was allocating at 4MiB/s, the system overall > (pgalloc_normal) was allocating at 235MiB/s, and the system was > swapping out (pswpout) at 673MiB/s. pgalloc_normal and pswpout stay > roughly the same each second, no big swings. > > Is the disparity between allocation and swapout rate expected? > > John ran perf during another test right before the last test program > was started (this doesn't include the initial large allocation > bringing the system close to swapping). The top five allocators > (kmem:mm_page_alloc): > > # Overhead Pid:Command > # ........ ....................... > # > 48.45% 2005:memeater # the test program > 32.08% 73:kswapd0 > 3.16% 1957:perf_4.17 > 1.41% 1748:watch > 1.16% 2043:free Huh, kswapd allocating memory sounds really wrong here. Is it possible that the swap device driver is double buffering and allocating a new page for each one to swap out? -- Michal Hocko SUSE Labs