On 10/30/06, Paul Jackson <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]