Messages in this thread | | | Date | Sat, 8 Apr 2006 15:28:40 -0500 | From | "Serge E. Hallyn" <> | Subject | Re: [RFC][PATCH 1/5] uts namespaces: Implement utsname namespaces |
| |
Quoting Andi Kleen (ak@suse.de): > "Serge E. Hallyn" <serue@us.ibm.com> writes: > > > This patch defines the uts namespace and some manipulators. > > Adds the uts namespace to task_struct, and initializes a > > system-wide init namespace which will continue to be used when > > it makes sense. > > So to get this straight - you want to add a new pointer to > task_struct for each possible virtualized entity? > > After you're doing by how many bytes will task_struct be bloated? > I don't think that's a very good approach because you'll crank > up the per thread memory overhead which is already far too big > in Linux. Also it adds cache foot print and generally makes > things slower. > > If anything I would request using a proxy data structure > that contains all the virtualized namespaces for a set > of processes. And give each task only has a single pointer > to one of these.
This is something we've been discussing - whether to use a single "container" structure pointing to all the namespaces, or put everything into the task_struct. Using container structs means more cache misses and refcounting issues, but keeps task_struct smaller as you point out.
The consensus so far has been to start putting things into task_struct and move if needed. At least the performance numbers show that so far there is no impact.
iirc container patches have been sent before. Should those be resent, then, and perhaps this patchset rebased on those?
thanks, -serge - 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/
| |