On Thu, Jul 21, 2022 at 10:52:54AM -0700, Mike Kravetz wrote:
diff --git a/tools/testing/selftests/vm/hugetlb-madvise.c b/tools/testing/selftests/vm/hugetlb-madvise.c index 6c6af40f5747..3c9943131881 100644 --- a/tools/testing/selftests/vm/hugetlb-madvise.c +++ b/tools/testing/selftests/vm/hugetlb-madvise.c @@ -89,10 +89,11 @@ void write_fault_pages(void *addr, unsigned long nr_pages) void read_fault_pages(void *addr, unsigned long nr_pages) {
- unsigned long i, tmp;
- unsigned long dummy = 0;
- unsigned long i;
for (i = 0; i < nr_pages; i++)
tmp += *((unsigned long *)(addr + (i * huge_page_size)));
When I originally wrote this, something must have complained if written as:
tmp = *((unsigned long *)(addr + (i * huge_page_size)));
changing to += eliminated that complaint, but caused this one. Happy with your changes, but if there is an even better way to write this, I am happy to change it.
These days compilers don't like when you read something and then don't use it. It's possible they might just start optimizing parts of that away? I think we've now tricked the compiler into doing what we want.
regards, dan carpenter