On Mon, Jan 10, 2022 at 04:23:41AM +0000, Matthew Wilcox (Oracle) wrote: > Return the head page instead of storing it to a passed parameter. > Pass the start page directly instead of passing a pointer to it. Looks good, but when we're changing the calling conventions anyway: > -static inline void compound_range_next(unsigned long i, unsigned long npages, > - struct page **list, struct page **head, > - unsigned int *ntails) > +static inline struct page *compound_range_next(unsigned long i, > + unsigned long npages, struct page *start, unsigned int *ntails) To me the logical argument order would be something like: static inline struct page *compound_range_next(struct page *start, unsigned long npages,, unsigned long i, unsigned int *ntails) where the two first arguments pass in what is worked on and match the calling conventions of the caller.