On Tue, Jun 03, 2025 at 04:18:22PM +0200, Christian König wrote:
Does it matter compared to the I/O in this case?
It unfortunately does, see the numbers on patch 3 and 4.
That's kinda weird. Why does the page table lookup tage so much time compared to normal I/O?
My question is rather if it's ok to call f_op->write_iter() and f_op->read_iter() with pages allocated by alloc_pages(), e.g. where drivers potentially ignore the page count and just re-use pages as they like?
read_iter and write_iter with ITER_BVEC just use the pages as source and destination of the I/O. They must not touch the refcounts or do anything fancy with them. Various places in the kernel rely on that.