Re: [PATCH 0/4] Convert khugepaged to a task_work function

From: Alex Thorlton
Date: Wed Oct 29 2014 - 17:58:08 EST


On Tue, Oct 28, 2014 at 05:12:26AM -0700, Andi Kleen wrote:
> Alex Thorlton <athorlton@xxxxxxx> writes:
>
> > Last week, while discussing possible fixes for some unexpected/unwanted behavior
> > from khugepaged (see: https://lkml.org/lkml/2014/10/8/515) several people
> > mentioned possibly changing changing khugepaged to work as a task_work function
> > instead of a kernel thread. This will give us finer grained control over the
> > page collapse scans, eliminate some unnecessary scans since tasks that are
> > relatively inactive will not be scanned often, and eliminate the unwanted
> > behavior described in the email thread I mentioned.
>
> With your change, what would happen in a single threaded case?
>
> Previously one core would scan and another would run the workload.
> With your change both scanning and running would be on the same
> core.
>
> Would seem like a step backwards to me.

I suppose from the single-threaded point of view, it could be. Maybe we
could look at this a bit differently. What if we allow processes to
choose their collapse mechanism on fork? That way, the system could
default to using the standard khugepaged mechanism, but we could request
that processes handle collapses themselves if we want. Overall, I don't
think that would add too much overhead to what I've already proposed
here, and it gives us more flexibility.

Thoughts?

- Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/