Re: [PATCH v2] selftest: Add test for Soft-Dirty PTE bit

From: Gabriel Krisman Bertazi
Date: Fri Aug 13 2021 - 15:47:33 EST


Will Deacon <will@xxxxxxxxxx> writes:

> On Thu, Jun 03, 2021 at 11:15:18AM -0400, Gabriel Krisman Bertazi wrote:
>> This introduces three tests:
>>
>> 1) Sanity check soft dirty basic semantics: allocate area, clean, dirty,
>> check if the SD bit flipped.
>>
>> 2) Check VMA reuse: validate the VM_SOFTDIRTY usage
>>
>> 3) Check soft-dirty on huge pages
>>
>> This was motivated by Will Deacon's fix commit 912efa17e512 ("mm: proc:
>> Invalidate TLB after clearing soft-dirty page state"). I was tracking the
>> same issue that he fixed, and this test would have caught it.
>>
>> Cc: Will Deacon <will@xxxxxxxxxx>
>> Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx>
>>
>> --
>> Changes since V1:
>> - Fix last minute build break with page_size
>> ---
>> tools/testing/selftests/Makefile | 1 +
>> tools/testing/selftests/soft-dirty/.gitignore | 1 +
>> tools/testing/selftests/soft-dirty/Makefile | 9 +
>> .../testing/selftests/soft-dirty/soft-dirty.c | 254 ++++++++++++++++++
>> 4 files changed, 265 insertions(+)
>> create mode 100644 tools/testing/selftests/soft-dirty/.gitignore
>> create mode 100644 tools/testing/selftests/soft-dirty/Makefile
>> create mode 100644 tools/testing/selftests/soft-dirty/soft-dirty.c
>
> Although I think adding a test for this is great (and I certainly wouldn't
> want to get in the way of that; quite the opposite), I notice that we
> already have test_softdirty() in selftests/vm/madv_populate.c. Would we be
> better off extending that test instead of introducing another one?

Hi, Will. Thanks for the review.

Looks like selftests/vm/madv_populate.c was merged after I sent this,
which explains why I missed it. From a quick look, it also doesn't
verify the corner case of I'm checking here. I will look into merging
the two tests, or at least moving this to vm/ and remove the overlap.

Thanks,

--
Gabriel Krisman Bertazi