cvs commit: src/sys/kern init_sysent.c syscalls.c systrace_args.c src/sys/sys syscall.h syscall.mk sysproto.h

Jeff Roberson jroberson at chesapeake.net
Tue Mar 4 02:40:30 UTC 2008


On Tue, 4 Mar 2008, David Xu wrote:

> Jeff Roberson wrote:
>
>>> One question is how I can determine the size of cpuset the kernel is
>>> using ?
>> 
>> I wrote it to tolerate user masks that were much larger than the kernel 
>> mask.  I set the default CPU_SETSIZE in userspace to 128 and in kernel it's 
>> MAXCPU.  So in practice an application shouldn't have to redefine 
>> CPU_SETSIZE.  If your set is too small the kernel will return ERANGE 
>> however.  Unfortunately, if your set is larger than the kernel's 
>> CPU_MAXSIZE it'll also return ERANGE.  Maybe I should use different errnos 
>> for those cases.
>> 
>
> From my point, userland has to write some urgly code to guess what
> kernel code wants, it is rather frustrate.

You can use sysctl kern.smp.maxcpus to get the precise size.

>
>
>
>
>
>
>
>


More information about the cvs-src mailing list