The kernel supports LWP-level binding, where different LWPs in the same process cold be bound to different cpus, this binding can be done programmatically with "processor_bind", by which you can specify an LPW ID. Once a processor set is created (psrset -c cpu_id), the processors in the set are no longer available for running all kernel threads system wide. Rather, they will only run kernel threads (LWPs) that have been bound to the processor set with psrset(1M) or pset_bind(2). Once a process is bound, the binding is exclusive, only threads bound to the processor set are scheduled and executed on cpus in the set, cpus in a processor set are no available as targets of pbind(1M) requests, you cannot use pbind or processor_bind to bin process or LWPs to a cpu that is part of a user processor set, if a process has been bound to a cpu with pbind, that processor cannot be placed in a processor set until the binding is undone ...
Regards,
Carlos Almeida
(Solaris Internals)