On Thu, 6 Jun 2024 20:36:19 +0000 "Pankaj Raghav (Samsung)" kernel@pankajraghav.com wrote:
From: Pankaj Raghav p.raghav@samsung.com
create_pagecache_thp_and_fd() in split_huge_page_test.c used the variable dummy to perform mmap read.
However, this test was skipped even on XFS which has large folio support. The issue was compiler (gcc 13.2.0) was optimizing out the dummy variable, therefore, not creating huge page in the page cache.
Use asm volatile() trick to force the compiler not to optimize out the loop where we read from the mmaped addr. This is similar to what is being done in other tests (cow.c, etc)
As the variable is now used in the asm statement, remove the unused attribute.
What are the runtime effects of this change? An inappropriate test failure? If so, shouldn't we fix 6.9.x kernels also? And is fc4d182316bd ("mm: huge_memory: enable debugfs to split huge pages to any order") an appropriate Fixes: target?