[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230317163936.06d9c7d032a5c2296075caa1@linux-foundation.org>
Date: Fri, 17 Mar 2023 16:39:36 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Lorenzo Stoakes <lstoakes@...il.com>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
David Hildenbrand <david@...hat.com>,
Matthew Wilcox <willy@...radead.org>,
Vlastimil Babka <vbabka@...e.cz>
Subject: Re: [PATCH 0/2] Refactor do_fault_around()
On Fri, 17 Mar 2023 21:58:24 +0000 Lorenzo Stoakes <lstoakes@...il.com> wrote:
> Refactor do_fault_around() to avoid bitwise tricks and arather difficult to
> follow logic. Additionally, prefer fault_around_pages to
> fault_around_bytes as the operations are performed at a base page
> granularity.
>
> I have run this code against a small program I wrote which generates
> significant input data and compares output with the original function to
> ensure that it behaves the same as the old code across varying vmf, vma and
> fault_around_pages inputs.
Well, what changes were you looking for in that testing?
do_fault_around() could become a no-op and most tests wouldn't notice.
What we'd be looking for to test these changes is performance
differences.
Perhaps one could add a tracepoint to do_fault_around()'s call to
->map_pages, check that the before-and-after traces are identical.
Or, if you're old school and lazy,
if (!strcmp(current->comm, "name-of-my-test-program"))
printk("name-of-my-test-program: %lu %lu\n",
start_pgoff, end_pgoff)
then grep-n-diff the dmesg output.
Powered by blists - more mailing lists