cvs commit: src/sys/kern init_sysent.c syscalls.c
systrace_args.c src/sys/sys syscall.h syscall.mk sysproto.h
David Xu
davidxu at FreeBSD.org
Mon Mar 3 04:45:17 UTC 2008
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 ?
More information about the cvs-src
mailing list