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
