1. 07 May, 2024 1 commit
    • David Hildenbrand's avatar
      selftests: mm: cow: flag vmsplice() hugetlb tests as XFAIL · 4bf6a4eb
      David Hildenbrand authored
      Patch series "selftests: mm: cow: flag vmsplice() hugetlb tests as XFAIL".
      
      The failing hugetlb vmsplice() COW tests keep confusing people, and having
      tests that have been failing for years and likely will keep failing for
      years to come because nobody cares enough is rather suboptimal.  Let's
      mark them as XFAIL and document why fixing them is not that easy as it
      would appear at first sight.
      
      More details can be found in [1], especially around how hugetlb pages
      cannot really be overcommitted, and why we don't particularly care about
      these vmsplice() leaks for hugetlb -- in contrast to ordinary memory.
      
      [1] https://lore.kernel.org/all/8b42a24d-caf0-46ef-9e15-0f88d47d2f21@redhat.com/
      
      
      This patch (of 2):
      
      The vmsplice() hugetlb tests have been failing right from the start, and
      we documented that in the introducing commit 7dad331b ("selftests/vm:
      anon_cow: hugetlb tests"):
      
      	Note that some tests cases still fail. This will, for example, be
      	fixed once vmsplice properly uses FOLL_PIN instead of FOLL_GET for
      	pinning. With 2 MiB and 1 GiB hugetlb on x86_64, the expected
      	failures are:
      
      Until vmsplice() is changed, these tests will likely keep failing: hugetlb
      COW reuse logic is harder to change, because using the same COW reuse
      logic as we use for !hugetlb could harm other (sane) users when running
      out of free hugetlb pages.
      
      More details can be found in [1], especially around how hugetlb pages
      cannot really be overcommitted, and why we don't particularly care about
      these vmsplice() leaks for hugetlb -- in contrast to ordinary memory.
      
      These (expected) failures keep confusing people, so flag them accordingly.
      
      Before:
      	$ ./cow
      	[...]
      	Bail out! 8 out of 778 tests failed
      	# Totals: pass:769 fail:8 xfail:0 xpass:0 skip:1 error:0
      	$ echo $?
      	1
      
      After:
      	$ ./cow
      	[...]
      	# Totals: pass:769 fail:0 xfail:8 xpass:0 skip:1 error:0
      	$ echo $?
      	0
      
      [1] https://lore.kernel.org/all/8b42a24d-caf0-46ef-9e15-0f88d47d2f21@redhat.com/
      
      Link: https://lkml.kernel.org/r/20240502085259.103784-1-david@redhat.com
      Link: https://lkml.kernel.org/r/20240502085259.103784-2-david@redhat.comSigned-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Muchun Song <muchun.song@linux.dev>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4bf6a4eb
  2. 06 May, 2024 39 commits