On Wed, Dec 08, 2021 at 08:35:35PM +0000, Pasha Tatashin wrote:
In other page_ref_* functions all arguments and returns are traced, but in page_ref_add_unless the 'u' argument which stands for unless boolean is not traced. However, what is more confusing is that in the tracing routine: __page_ref_mod_unless(struct page *page, int v, int u); The 'u' argument present, but instead a return value is passed into this argument. Add a new template specific for page_ref_add_unless(), and trace all arguments and the return value.
The special casing of '1' for device pages is going away, so NAK to this user-visible change.