getaffinity/setaffinity and cpu sets.
Jeff Roberson
jroberson at chesapeake.net
Thu Feb 21 21:57:14 UTC 2008
On Thu, 21 Feb 2008, David Schultz wrote:
> I have no specific comments, but I wanted to point out that the
> Solaris kernel team put a lot of thought into coming up with a
> flexible processor binding API for Solaris 10 that meshes well
> with jails (a.k.a. zones in Solaris). It might be worthwhile to
> investigate what good ideas they might have had, and to decide if
> compatibility is worthwhile:
Well interestingly enough I came up with an almost identical thing but
with fewer features. If someone wanted to add the missing features I'm
fine with that. I don't know if we want to or are free to copy the api
exactly.
>
> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/sys/pset.h
>
> There are manpages for this stuff somewhere. pset_create and
> pset_destroy obviously create and delete processor set definitions.
> pset_bind binds a particular process / thread / session / jail
> to a processor set, similar to your CPU_WHICH_* flags, I think,
> but with more options.
>
I didn't see the header but I read some web articles about it. The only
real discrepancy is whether you explicitly destroy them or they disappear
when the last processor leaves the set. I could be convinced to do
either, but so far I'm leaning towards automatic destruction.
Hopefully someone who is involved with jails will work with me to
integrate the two. I intend only to implement the infrastructure required
to create and modify sets. Someone who is jail savvy will need to apply
the set and the appropriate security restrictions.
Thanks,
Jeff
More information about the freebsd-arch
mailing list