Re: [PATCH v11 01/13] vmstat: add quiet_vmstat_sync function

From: Chris Metcalf
Date: Mon Mar 21 2016 - 11:44:28 EST


On 03/21/2016 10:34 AM, Michal Hocko wrote:
On Fri 11-03-16 17:10:11, Chris Metcalf wrote:
In commit f01f17d3705b ("mm, vmstat: make quiet_vmstat lighter")
the quiet_vmstat() function became asynchronous, in the sense that
the vmstat work was still scheduled to run on the core when the
function returned. For task isolation, we need a synchronous
version of the function that guarantees that the vmstat worker
will not run on the core on return from the function. Add a
quiet_vmstat_sync() function with that semantic.
The full series hasn't reached my inbox and from the above it is not
really clear where is the new function supposed to be used.

It is usually preferable to include the consumer of the new API in the
same patch. Is this case any special that it couldn't be done that way?

I've seen this done both ways (i.e. smushing things all together, vs
breaking them apart) and my sense is that particularly for larger patch
series, keeping individual atomic patches that bisect cleanly is the
better choice.

In this particular case, there are a three patches in mm that all
individually are needed for task isolation; merging all three into
the patch that enables task isolation would have made that patch even
larger and harder to review. (Similarly, one could argue that even
that patch on its own does nothing, and is purely an enablement patch
for the various architecture-specific follow-on patches that actually
provide the hooks to make it work, so by your argument perhaps the
whole thing should be merged into a single giant patch...)

In any case, I think you are absolutely right that providing more
context to reviewers is the right thing, and I'll make sure in future
patch series to include all the reviewers from "enabling patches" into
the patch that uses the particular enablement. For this series, the
patch that uses the quiet_vmstat_sync() call is here:

https://lkml.kernel.org/r/1457734223-26209-5-git-send-email-cmetcalf@xxxxxxxxxxxx

The cover letter email is here if you're curious for more context:

https://lkml.kernel.org/r/1457734223-26209-1-git-send-email-cmetcalf@xxxxxxxxxxxx

--
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com