[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <43c610f9-8671-519c-108f-9996e219c249@intel.com>
Date: Tue, 9 Aug 2022 22:58:18 +0800
From: Aaron Lu <aaron.lu@...el.com>
To: "Kirill A. Shutemov" <kirill@...temov.name>
CC: Dave Hansen <dave.hansen@...el.com>,
Rick Edgecombe <rick.p.edgecombe@...el.com>,
Song Liu <song@...nel.org>, <linux-kernel@...r.kernel.org>,
<linux-mm@...ck.org>
Subject: Re: [RFC PATCH 0/4] x86/mm/cpa: merge small mappings whenever
possible
Hi Kirill,
Thanks a lot for the feedback.
On 8/9/2022 6:04 PM, Kirill A. Shutemov wrote:
> On Mon, Aug 08, 2022 at 10:56:45PM +0800, Aaron Lu wrote:
>> This is an early RFC. While all reviews are welcome, reviewing this code
>> now will be a waste of time for the x86 subsystem maintainers. I would,
>> however, appreciate a preliminary review from the folks on the to and cc
>> list. I'm posting it to the list in case anyone else is interested in
>> seeing this early version.
>
> Last time[1] I tried to merge pages back in direct mapping it lead to
> substantial performance regression for some workloads. I cannot find the
> report right now, but I remember it was something graphics related.
>
Do you happen to remember the workload name? I can try running it.
> Have you done any performance evaluation?
>
Not yet, I was mostly concentrating on correctness. In addition to the
graphics workload, do you have anything else in mind that may be
sensitive to such a change?
I think maybe I can run patch4's mode0 test with and without this merge
functionality and see how performance would change since mode0 is
essentially doing various set_memory_X() calls on different cpus
simultaneously which can trigger a lot of splits and merges. Sounds good?
> My take away was that the merge has to be batched. Like log where changes
> to direct mapping happens and come back to then and merge when the number
> of changes cross some limit.
>
Appreciate your suggestion.
> Also I don't see you handling set_memory_4k(). Huh?
>
Ah Right, I missed that. Currently set_memory_4k() is not specially
handled and can be mistakenly merged. Will fix this in later versions.
> [1] https://lore.kernel.org/lkml/20200416213229.19174-1-kirill.shutemov@linux.intel.com/
>
Thanks!
Powered by blists - more mailing lists