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