Messages in this thread | | | Date | Thu, 28 Sep 2006 19:31:38 -0700 | From | Paul Jackson <> | Subject | Re: [RFC][PATCH 05/10] Task watchers v2 Register cpuset task watcher |
| |
Matt wrote:
> - cpuset_fork(p); > #ifdef CONFIG_NUMA > p->mempolicy = mpol_copy(p->mempolicy); > if (IS_ERR(p->mempolicy)) { > retval = PTR_ERR(p->mempolicy); > p->mempolicy = NULL; > - goto bad_fork_cleanup_cpuset; > + goto bad_fork_cleanup_delays_binfmt; > } > mpol_fix_fork_child_flag(p); > #endif > #ifdef CONFIG_TRACE_IRQFLAGS > p->irq_events = 0; > @@ -1280,13 +1278,11 @@ bad_fork_cleanup_files: > bad_fork_cleanup_security: > security_task_free(p); > bad_fork_cleanup_policy: > #ifdef CONFIG_NUMA > mpol_free(p->mempolicy); > -bad_fork_cleanup_cpuset: > #endif > - cpuset_exit(p); > bad_fork_cleanup_delays_binfmt:
The above code, before your change, had the affect that if mpol_copy() failed, then the cpusets that were just setup by the cpuset_fork() call were undone by a cpuset_exit() call.
From what I can tell, after your change, this is no longer done, and a failed mpol_copy will leave cpusets in an incorrect state.
Am I missing something?
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.925.600.0401 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |