From mboxrd@z Thu Jan 1 00:00:00 1970
Subject: Re: [Bug 200105] High paging activity as soon as the swap is touched
(with steps and code to reproduce it)
References:
<191624267.262238.1532074743289@mail.yahoo.com>
<20180723130235.GF31229@dhcp22.suse.cz>
From: Daniel Jordan
Message-ID: <71c2d8a5-c29e-9284-67ab-bde6d3f0122e@gmail.com>
Date: Tue, 9 Oct 2018 21:35:14 -0400
MIME-Version: 1.0
In-Reply-To: <20180723130235.GF31229@dhcp22.suse.cz>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
To: Michal Hocko
Cc: john terragon , "linux-mm@kvack.org" , "bugzilla-daemon@bugzilla.kernel.org" , Andrew Morton , Daniel Jordan
List-ID:
On 7/23/18 9:02 AM, Michal Hocko wrote:
> [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?
>