Re: [PATCH 19/40] autonuma: alloc/free/init sched_autonuma
From: Konrad Rzeszutek Wilk <hidden>
Date: 2012-06-30 05:10:08
Also in:
lkml
On Thu, Jun 28, 2012 at 02:55:59PM +0200, Andrea Arcangeli wrote:
This is where the dynamically allocated sched_autonuma structure is being handled. The reason for keeping this outside of the task_struct besides not using too much kernel stack, is to only allocate it on NUMA hardware. So the not NUMA hardware only pays the memory of a pointer in the kernel stack (which remains NULL at all times in that case).
.. snip..
+ if (unlikely(alloc_task_autonuma(tsk, orig, node))) + /* free_thread_info() undoes arch_dup_task_struct() too */ + goto out_thread_info;
That looks (without seeing the implementation) and from reading the git commit, like that on non-NUMA machines it would fail - and end up stop the creation of a task. Perhaps a better name for the function: alloc_always_task_autonuma since the function (at least from the description of this patch) will always succeed. Perhaps even remove the: "if unlikely(..)" bit? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>