On Wed, Dec 8, 2021 at 3:55 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > 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. I can drop this patch, as it really intended to fix existing oddities and missing info. However, I do not really understand your NAK reason. Can you please explain about the special casing of "1" for device pages? Pasha