Date: Wed, 5 Mar 2008 18:35:02 -1000 (HST) From: Jeff Roberson <jroberson@chesapeake.net> To: Roman Divacky <rdivacky@freebsd.org> Cc: emulation@freebsd.org, jeff@freebsd.org Subject: Re: [PATCH] linux get affinity syscall Message-ID: <20080305183333.K920@desktop> In-Reply-To: <20080305193330.GA18756@freebsd.org> References: <20080302110130.GA30563@freebsd.org> <20080303022202.S920@desktop> <20080303144152.GA47887@freebsd.org> <20080303121025.K920@desktop> <20080304155205.X920@desktop> <20080305193330.GA18756@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 5 Mar 2008, Roman Divacky wrote: >>>>>> if (args->len < sizeof(cpumask_t)) >>>>>> return (EINVAL); >> >> This should not be necessary anymore. >> >>>>> >>>>> Len here is in number of bits I believe as it is for our cpusetsize. >>>> >>>> no.. its specified in bytes >>> >>> You are right. So it is with fdsets. Please hold on and I'll change >>> cpuset to be bytes as well. >>> >>>> >>>>>> >>>>>> cga.level = CPU_LEVEL_WHICH; >>>>>> cga.which = CPU_WHICH_PID; >>>>>> cga.id = args->pid; >>>>>> cga.cpusetsize = sizeof(cpumask_t) * NBBY; >>>>>> cga.mask = (long *) args->user_mask_ptr; >>>>> >> >> I checked in a change to make our cpusetsize compatible. You should only >> have to supply CPU_LEVEL_WHICH and CPU_WHICH_PID now. The rest of the >> arguments are compatible. > > is it possible to make cpuset_setproc non-static? > > if so could you please review the following patch: > > www.vlakno.cz/~rdivacky/linux_affinity.patch > > and tell me if its ok? (it lacks #include of something that should > contain the prototype for cpuset_setproc()) Why not call cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, id, cpusetlen, user_mask_ptr); as you do with getaffinity? Then we don't have to expose the internal interface. You also don't have to error check the length then. Thanks, Jeff > > thnx, roman >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080305183333.K920>