Interesting proposal. Of the bikeshed options, I like the ones with "credential" in them over those mentioning "session" or "process group" (since there are no process collectives that allow pre-existing processes to join them).
Some questions: 1. What are the default registered CPG types on a newly booted system? (Are there CPG types created by the kernel prior to the creation of init(1M)?) 1'. If the kernel does create such types, how do they participate in the "resource release at empty" operation? 2. Why 64-bit IDs, and not reuse of id_t and idtype_t? (Unusual for a process collective.) 3. What is the complete list of system calls that cause a CPG to change its settings? For instance, should setuid(2) or setppriv(2) calls also have CPG_F_* flags? 4. There's no new privilege needed for CPG type registration or removal? What privilege is required? 5. Do you expect the behaviour of a cpg_type_unreg() call to be blocking--destroying all CPGs of that type--or merely allow those CPGs to linger until all processes have exited. What happens to CPGs with door calls in the _unreg() case? 6. It would be helpful to see the Boomer example explained a bit, if any preliminary sketch is available. (My feeling is that there's a lot of public mechanism for one consumer.) 7. Usually the zone/project/task/process resource controls need to be transferred in the attributes of the work unit of whatever subsystem is taking the request out of process context but, if you've worked out more about subsuming those attributes, I'd be interested in seeing the details. 8. Could the project team comment when they expect a new feature should introduce a CPG type, rather than a process privilege? It might also be useful to understand how CPGs might be used to implement a concept like a security label, as in classic Trusted Solaris? I suppose I'm looking for early advice about how to design using this feature. (For instance, if the answer to 1/1' is "no", then does that imply kernel features must introduce privileges?) Thanks Stephen -- sch at sun.com http://blogs.sun.com/sch/