lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cbdbeae9-010e-ca11-eeab-44fa7d78c83a@redhat.com>
Date:   Tue, 10 Aug 2021 18:16:33 -0400
From:   Nico Pache <npache@...hat.com>
To:     Shakeel Butt <shakeelb@...gle.com>,
        Johannes Weiner <hannes@...xchg.org>
Cc:     Linux MM <linux-mm@...ck.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Rafael Aquini <aquini@...hat.com>,
        Waiman Long <llong@...hat.com>, Michal Hocko <mhocko@...e.com>,
        hakavlad@...ox.lv
Subject: Re: [PATCH v3] vm_swappiness=0 should still try to avoid swapping
 anon memory



On 8/10/21 5:17 PM, Shakeel Butt wrote:
> On Tue, Aug 10, 2021 at 12:24 PM Nico Pache <npache@...hat.com> wrote:
>>
>>
> [...]
>>>
>>> I'm wondering how you're getting anon scans with swappiness=0. If you
>>> look at get_scan_count(), SCAN_FRACT with swappines=0 should always
>>> result in ap = fraction[0] = 0, which never yields any anon scan
>>> targets. So I'm thinking you're running into sc->file_is_tiny
>>> situations, meaning remaining file pages alone are not enough to
>>> restore watermarks anymore. Is that possible?
>>
>> Yes DEACTIVATE_ANON is enabling the file_is_tiny case in shrink_node(). That is what im trying to prevent in the swappiness=0 case.
>>
> 
> Can you please explain how DEACTIVATE_ANON is enabling the file_is_tiny case?


You're right. Just did a second pass... I misinterpreted the assignment to
file_is_tiny. This is not the case that is causing the issue. So back to the
SCAN_FRACT case. From my testing the refaulting still seems to be causing the
issue; however, to your point in earlier discussions, if swappiness=0 then the
get_scan_count *should* be 0.
So my patch does solve the issue by preventing the shrink_list from deactivating
the anon, but it may be hiding some other issue that is the ultimate cause.

Thanks for pointing that out!
-- Nico

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ