On Fri, 17 Mar 2023 21:58:24 +0000 Lorenzo Stoakes <lstoakes@xxxxxxxxx> 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.