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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>