[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f30cb41f-474c-91f2-4912-37387b8b3782@redhat.com>
Date: Wed, 1 Jun 2022 09:53:06 +0200
From: David Hildenbrand <david@...hat.com>
To: Miaohe Lin <linmiaohe@...wei.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Hugh Dickins <hughd@...gle.com>
Subject: Re: [PATCH 2/3] mm/swapfile: avoid confusing swap cache statistics
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.
data_race() indicates to me that these stats are somewhat best-effort
already.
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists