On 3/3/26 8:32 PM, Yury Norov wrote:
My motivation is that it helps to simplify constructions like this:
- loff_t cmp_len = min(PAGE_SIZE - offset_in_page(srcoff),
- PAGE_SIZE - offset_in_page(dstoff));
+ loff_t cmp_len = min(rest_of_page(srcoff), rest_of_page(dstoff));
Or this:
- if (folio_test_highmem(dst_folio) &&
- chunk > PAGE_SIZE - offset_in_page(dst_off))
- chunk = PAGE_SIZE - offset_in_page(dst_off);
- if (folio_test_highmem(src_folio) &&
- chunk > PAGE_SIZE - offset_in_page(src_off))
- chunk = PAGE_SIZE - offset_in_page(src_off);
+ if (folio_test_highmem(dst_folio) && chunk > rest_of_page(dst_off))
+ chunk = rest_of_page(dst_off);
+ if (folio_test_highmem(src_folio) && chunk > rest_of_page(src_off))
+ chunk = rest_of_page(src_off);
To a point where I don't have to use my brains to decode them. I agree
it's an easy math. It's just too bulky to my (and 9p guys too) taste.
The thing is, now I have to go lookup what on earth rest_of_page() does,
whereas PAGE_SIZE - offset_in_page(page) is immediately obvious. It's a
classic case of "oh let's add this helper to simplify things" which
really just makes it worse, because now you have to jump to the
definition of rest_of_page().
IOW, just no.
--
Jens Axboe