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]
Date:   Thu, 2 Jun 2022 15:29:20 +0800
From:   Miaohe Lin <linmiaohe@...wei.com>
To:     David Hildenbrand <david@...hat.com>
CC:     <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>,
        Hugh Dickins <hughd@...gle.com>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH 2/3] mm/swapfile: avoid confusing swap cache statistics

On 2022/6/1 15:53, David Hildenbrand wrote:
> On 01.06.22 04:11, Miaohe Lin wrote:
>> On 2022/5/31 20:58, David Hildenbrand wrote:
>>> On 31.05.22 04:55, Miaohe Lin wrote:
>>>> On 2022/5/31 7:04, Andrew Morton wrote:
>>>>> On Fri, 27 May 2022 17:26:25 +0800 Miaohe Lin <linmiaohe@...wei.com> wrote:
>>>>>
>>>>>> At swapoff time, we're going to swap in the pages continuously. So calling
>>>>>> lookup_swap_cache would confuse statistics. We should use find_get_page
>>>>>> directly here.
>>>>>
>>>>> Why is the existing behaviour wrong?  swapoff() has to swap stuff in to
>>>>> be able to release the swap device.  Why do you believe that this
>>>>> swapin activity should not be accounted?
>>>>
>>>> IMHO, statistics, e.g. swap_cache_info.find_success, are used to show the effectiveness
>>>> of the swap cache activity. So they should only reflect the memory accessing activity
>>>> of the user. I think swapoff can't reflect the effectiveness of the swap cache activity
>>>> because it just swaps in pages one by one. Or statistics should reflect all the activity
>>>> of the user including swapoff?
>>>
>>> I'm wondering who cares and why?
>>
>> I thought it's used to show the effectiveness of the swapcache readahead algorithm. If nobody
>> ever cares about it now, I'm fine to drop this patch. And could these statistics be removed
>> since nobody cares about it?
> 
> IIUC, they are printed (via show_swap_cache_info()), which is called via
> show_free_areas() -- primarily used via show_mem(). show_mem() is
> primarily used when OOM, when allocation fails and we warn, from the OOM
> killer, on panic().
> 
> I am not sure how useful for (OOM ?) debugging the find_success vs.
> find_total stats are at all. They are from ancient times. In
> bb63be0a091c ("tmpfs: move swap_state stats update") we removed other
> statistics that are "are relics of my 2.4.11 testing". Maybe
> find_success and find_total can be similarly removed.

Maybe add_total, del_total, find_success and find_total should be similarly removed altogether?
It seems those can't provide useful info when OOM occurs? And we can thus avoid touching the
swap_cache_info cacheline.

> 
> data_race() indicates to me that these stats are somewhat best-effort
> already.

At least, this patch seems unneeded.

Thanks!

> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ