Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Mar 2008 02:24:54 -1000 (HST)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        David Xu <davidxu@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, Jeff Roberson <jeff@FreeBSD.org>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern init_sysent.c syscalls.c systrace_args.c src/sys/sys syscall.h syscall.mk sysproto.h
Message-ID:  <20080303022403.Y920@desktop>
In-Reply-To: <47CB82A6.4040903@freebsd.org>
References:  <200803020741.m227fAoJ039644@repoman.freebsd.org> <47CB6FB0.9040602@freebsd.org> <20080302183513.P920@desktop> <47CB82A6.4040903@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 3 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.
>> 
>
> maybe the prototype of cpuset_getaffinity() can be changed to:
>
> int     cpuset_getaffinity(cpulevel_t, cpuwhich_t, id_t, int *cpusetsize, 
> cpuset_t *);
>
> if *cpusetsize is zero, kernel just writes out the actual size the
> kernel is using ?
>
>
>

I don't really see this as a problem.  I can define userspace to use 1024 
cpus by default and we would probably never need to concern ourselves with 
it.  After all 1024 cpus should be enough forever.. ;)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080303022403.Y920>