Messages in this thread | | | Date | Fri, 10 Oct 2014 11:20:52 +0200 | From | Peter Zijlstra <> | Subject | Re: [BUG] mm, thp: khugepaged can't allocate on requested node when confined to a cpuset |
| |
On Wed, Oct 08, 2014 at 02:10:50PM -0500, Alex Thorlton wrote:
> Is this particular bug a known issue?
Its not unexpected for me.
> I've been trying to come up with > a simple way to fix the bug, but it's a bit difficult since we no longer > have a way to trace back to the task_struct that we're collapsing for > once we've reached get_page_from_freelist. I'm wondering if we might > want to make the cpuset check higher up in the call-chain and then pass > that nodemask down instead of sending a NULL nodemask, as we end up > doing in many (most?) situations. I can think of several problems with > that approach as well, but it's all I've come up with so far. > > The obvious workaround is to not isolate khugepaged to a cpuset, but > since we're allowed to do so, I think the thread should probably behave > appropriately when pinned to a cpuset. > > Any input on this issue is greatly appreciated. Thanks, guys!
So for the numa thing we do everything from the affected tasks context. There was a lot of arguments early on that that could never really work, but here we are.
Should we convert khugepaged to the same? Drive the whole thing from task_work? That would make this issue naturally go away.
| |