[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200819041852.23414.95939.stgit@localhost.localdomain>
Date: Tue, 18 Aug 2020 21:26:57 -0700
From: Alexander Duyck <alexander.duyck@...il.com>
To: alex.shi@...ux.alibaba.com
Cc: yang.shi@...ux.alibaba.com, lkp@...el.com, rong.a.chen@...el.com,
khlebnikov@...dex-team.ru, kirill@...temov.name, hughd@...gle.com,
linux-kernel@...r.kernel.org, alexander.duyck@...il.com,
daniel.m.jordan@...cle.com, linux-mm@...ck.org,
shakeelb@...gle.com, willy@...radead.org, hannes@...xchg.org,
tj@...nel.org, cgroups@...r.kernel.org, akpm@...ux-foundation.org,
richard.weiyang@...il.com, mgorman@...hsingularity.net,
iamjoonsoo.kim@....com
Subject: [RFC PATCH v2 0/5] Minor cleanups and performance optimizations for
LRU rework
So this patch set addresses a few minor issues I have found and is based on
the lrunext branch of the tree at:
https://github.com/alexshi/linux.git
The first three patches address various issues if ound with the patch set
such as the fact that we were skipping non-LRU compound pages one 4K page
at a time, the fact that test_and_set_skip had been made redundant by the
fact that the LRU bit made the setting of the bit exclusive per pageblock,
and the fact that we were using put_page while holding the LRU lock.
The last two patches are some patches I have been experimenting with.
Basically trying to reduce the number of times the LRU lock has to be
released and reacquired by batching LRU work together, or deferring the
freeing/returning of pages to LRU in the case of move_pages_to_lru. I am
still working on generating data but for the fourth patch I have seen an
improvement of about 5% on the will-it-scale/page_fault2 test with THP
enabled by default, however that is just some preliminary data and I still
have a number of tests left to run.
---
Alexander Duyck (5):
mm: Identify compound pages sooner in isolate_migratepages_block
mm: Drop use of test_and_set_skip in favor of just setting skip
mm: Add explicit page decrement in exception path for isolate_lru_pages
mm: Split release_pages work into 3 passes
mm: Split move_pages_to_lru into 3 separate passes
mm/compaction.c | 84 +++++++++++++++---------------------------
mm/swap.c | 109 ++++++++++++++++++++++++++++++++++---------------------
mm/vmscan.c | 77 +++++++++++++++++++++++----------------
3 files changed, 142 insertions(+), 128 deletions(-)
--
Powered by blists - more mailing lists