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, 21 Dec 2023 10:38:09 +0530
From: Donet Tom <donettom@...ux.vnet.ibm.com>
To: Yu Zhao <yuzhao@...gle.com>
Cc: Kinsey Ho <kinseyho@...gle.com>,
        Andrew Morton
 <akpm@...ux-foundation.org>, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH mm-unstable v3 0/4] mm/mglru: Kconfig cleanup


On 12/20/23 20:46, Yu Zhao wrote:
> On Wed, Dec 20, 2023 at 6:45 AM Donet Tom <donettom@...ux.vnet.ibm.com> wrote:
>>
>> On 12/20/23 09:46, Yu Zhao wrote:
>>> On Tue, Dec 19, 2023 at 9:01 PM Kinsey Ho <kinseyho@...gle.com> wrote:
>>>> This series is the result of the following discussion:
>>>> https://lore.kernel.org/47066176-bd93-55dd-c2fa-002299d9e034@linux.ibm.com/
>>>>
>>>> It mainly avoids building the code that walks page tables on CPUs that
>>>> use it, i.e., those don't support hardware accessed bit. Specifically,
>>>> it introduces a new Kconfig to guard some of functions added by
>>>> commit bd74fdaea146 ("mm: multi-gen LRU: support page table walks")
>>>> on CPUs like POWER9, on which the series was tested.
>>>>
>>>>
>>>> Kinsey Ho (4):
>>>>     mm/mglru: add CONFIG_ARCH_HAS_HW_PTE_YOUNG
>>>>     mm/mglru: add CONFIG_LRU_GEN_WALKS_MMU
>>>>     mm/mglru: remove CONFIG_MEMCG
>>>>     mm/mglru: remove CONFIG_TRANSPARENT_HUGEPAGE
>>>>
>>>>    arch/Kconfig                   |   8 +
>>>>    arch/arm64/Kconfig             |   1 +
>>>>    arch/x86/Kconfig               |   1 +
>>>>    arch/x86/include/asm/pgtable.h |   6 -
>>>>    include/linux/memcontrol.h     |   2 +-
>>>>    include/linux/mm_types.h       |  16 +-
>>>>    include/linux/mmzone.h         |  28 +---
>>>>    include/linux/pgtable.h        |   2 +-
>>>>    kernel/fork.c                  |   2 +-
>>>>    mm/Kconfig                     |   4 +
>>>>    mm/vmscan.c                    | 271 ++++++++++++++++++---------------
>>>>    11 files changed, 174 insertions(+), 167 deletions(-)
>>> +Donet Tom <donettom@...ux.vnet.ibm.com>
>>> who is also working on this.
>>>
>>> Donet, could try this latest version instead? If it works well as the
>>> old one you've been using, can you please provide your Tested-by tag?
>>> Thanks.
>> Hi Yu Zhao,
>>
>> This patch set looks promising.
>>
>> I have conducted tests on PowerPC and x86.
>>
>> In old patch set there is a cleanup patch which removes
>> struct scan_control *sc argument from try_to_inc_max_seq() and
>> run_aging(), Do we need to include that patch?
> Sorry not for including that patch in this series.
>
> It's the first patch in the next cleanup series, which we haven't
> fully tested yet. It'll be the first order of business after the
> holiday season (mid Jan), does the schedule work for you?
>
Yes. No Problem.

Thank you very much.

Donet Tom


>> =>Here are some test results from PowerPC.
>>
>> # ls -l vmscan.o
>> -rw-r--r--. 1 root root 3600080 Dec 19 22:35 vmscan.o
>>
>> # size vmscan.o
>>     text       data           bss      dec         hex filename
>>     95086      27412          0        122498      1de82 vmscan.o
>>
>> # ./scripts/bloat-o-meter vmscan.o.old vmscan.o
>> add/remove: 4/8 grow/shrink: 7/9 up/down: 860/-2524 (-1664)
>> Function                              old       new     delta
>> should_abort_scan                      -        472     +472
>> inc_max_seq.isra                      1472      1612    +140
>> shrink_one                            680       760     +80
>> lru_gen_release_memcg                 508       556     +48
>> lru_gen_init_pgdat                    92        132     +40
>> shrink_node                           4040      4064    +24
>> lru_gen_online_memcg                  680       696     +16
>> lru_gen_change_state                  3968      3984    +16
>> ------
>> shrink_lruvec                         2168      2152    -16
>> lru_gen_seq_write                     1980      1964    -16
>> isolate_folios                        6904      6888    -16
>> lru_gen_init_memcg                    32        12      -20
>> mm_list                               24        -       -24
>> lru_gen_exit_memcg                    388       344     -44
>> try_to_shrink_lruvec                  904       816     -88
>> lru_gen_rotate_memcg                  832       700     -132
>> lru_gen_migrate_mm                    132       -       -132
>> lru_gen_seq_show                      1484      1308    -176
>> iterate_mm_list_nowalk                288       -       -288
>> lru_gen_look_around                   2284      1984    -300
>> lru_gen_add_mm                        528       -       -528
>> lru_gen_del_mm                        720       -       -720
>> Total: Before=116213, After=114549, chg -1.43%
>>
>> =>Here are some test results from x86.
>>
>> $ ls -l vmscan.o
>> -rw-r--r--. 1 donettom donettom 2545792 Dec 20 15:16 vmscan.o
>>
>> $ size vmscan.o
>>     text          data          bss    dec        hex filename
>>     109751        32189         0      141940     22a74 vmscan.o
>> $
>>
>> $ ./scripts/bloat-o-meter vmscan.o.old vmscan.o
>> add/remove: 7/3 grow/shrink: 14/4 up/down: 2307/-1534 (773)
>> Function                                old       new      delta
>> inc_max_seq                             -         1470     +1470
>> should_abort_scan                       -         229      +229
>> isolate_folios                          4469      4562     +93
>> lru_gen_rotate_memcg                    641       731      +90
>> lru_gen_init_memcg                      41        99       +58
>> lru_gen_release_memcg                   282       336      +54
>> lru_gen_exit_memcg                      306       350      +44
>> walk_pud_range                          2502      2543     +41
>> shrink_node                             2912      2951     +39
>> lru_gen_online_memcg                    402       434      +32
>> lru_gen_seq_show                        1112      1140     +28
>> lru_gen_add_folio                       740       757      +17
>> lru_gen_look_around                     1217      1233     +16
>> __pfx_should_abort_scan                 -         16       +16
>> __pfx_inc_max_seq                       -         16       +16
>> iterate_mm_list_nowalk                  277       292      +15
>> shrink_one                              413       426      +13
>> lru_gen_init_lruvec                     190       202      +12
>> -----
>> try_to_shrink_lruvec                    717       643      -74
>> lru_gen_init_pgdat                      196       82       -114
>> try_to_inc_max_seq.isra                 2897      1578     -1319
>> Total: Before=101095, After=101868, chg +0.76%
>> $
>>
>>
>> Tested-by: Donet Tom <donettom@...ux.vnet.ibm.com>
> Thanks!
>
> Acked-by: Yu Zhao <yuzhao@...gle.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ