From owner-cvs-all@FreeBSD.ORG Mon Mar 3 12:22:41 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC276106566B; Mon, 3 Mar 2008 12:22:41 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 7B11B8FC15; Mon, 3 Mar 2008 12:22:41 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.107] (cpe-24-94-75-93.hawaii.res.rr.com [24.94.75.93]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id m23CMdSZ024962; Mon, 3 Mar 2008 07:22:40 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Mon, 3 Mar 2008 02:24:54 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: David Xu In-Reply-To: <47CB82A6.4040903@freebsd.org> Message-ID: <20080303022403.Y920@desktop> References: <200803020741.m227fAoJ039644@repoman.freebsd.org> <47CB6FB0.9040602@freebsd.org> <20080302183513.P920@desktop> <47CB82A6.4040903@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, Jeff Roberson , 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 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Mar 2008 12:22:41 -0000 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.. ;)