Messages in this thread | | | Date | Mon, 30 Oct 2006 04:07:20 -0800 | From | "Paul Menage" <> | Subject | Re: [ckrm-tech] [RFC] Resource Management - Infrastructure choices |
| |
On 10/30/06, Paul Jackson <pj@sgi.com> wrote: > I get away with this in the cpuset code because: > 1) I have the cpuset pointer directly in 'task_struct', so don't > have to chase down anything, for each task, while scanning the > task list. I just have to ask, for each task, if its cpuset > pointer points to the cpuset of interest.
That's the same when it's transferred to containers - each task_struct now has a container pointer, and you can just see whether the container pointer matches the container that you're interested in.
> 2) I don't care if I get an inconsistent answer, so I don't have > to lock each task, nor do I even lockout the rest of the cpuset > code. All I know, at the end of the scan, is that each task that > I claim is attached to the cpuset in question was attached to it at > some point during my scan, not necessarilly all at the same time.
Well, anything that can be accomplished from within the tasklist_lock can get a consistent result without any additional lists or synchronization - it seems that it would be good to come up with a real-world example of something that *can't* make do with this before adding extra book-keeping.
Paul - 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/
| |