History log of /netbsd-current/common/lib/libc/sys/cpuset.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.21 11-May-2019 maxv

Fix bug, the computation of cpuset_nentries was incorrect, we must do +1
to be able to address the last 32 bits.

On a machine with 80 CPUs, this caused "cpuctl identify >64" to return
garbage.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728
# 1.20 26-Jul-2018 kamil

Avoid undefined behavior in an cpuset.c

Do not change the signedness bit with a left shift operation.
Switch to unsigned integer to prevent this.

cpuset.c:112:18, left shift of 1 by 31 places cannot be represented in type 'int'

Detected with micro-UBSan in the user mode.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.19 04-Jan-2018 kamil

branches: 1.19.2;
Add bunch of missing includes of namespace.h in libc

The NetBSD Standard C Library uses internally some of its functions with
a mangled symbol name, usually "_symbol". The internal functions shall not
use the global (public) symbols.

This change eliminates usage of the global changes of the following symbols:
- strlcat -> _strlcat
- sysconf -> __sysconf
- closedir -> _closedir
- fparseln -> _fparseln
- kill -> _kill
- mkstemp -> _mkstemp
- reallocarr -> _reallocarr
- strcasecmp -> _strcasecmp
- strncasecmp -> _strncasecmp
- strptime -> _strptime
- strtok_r -> _strtok_r
- sysctl -> _sysctl
- dlopen -> __dlopen
- dlclose -> __dlclose
- dlsym -> __dlsym

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE tls-maxphys-20171202 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
# 1.18 09-Mar-2012 christos

branches: 1.18.26;
Casts and type changes to fix portability issues.
- int -> size_t
- adjust width of RHS of shift
- adjust widths of types


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.17 07-Aug-2011 rmind

branches: 1.17.2;
Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.

Discussed on: tech-kern@


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 yamt-nfs-mp-base11
# 1.16 21-Sep-2010 rmind

_cpuset_create: initialize size argument for sysctl call.
From PR/43837 by Sandy Snaman.


Revision tags: yamt-nfs-mp-base10 rmind-uvmplock-base yamt-nfs-mp-base9 matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 jym-xensuspend-base
# 1.15 25-Apr-2009 rmind

- Add kcpuset_iszero().
- Fix kcpuset_match().


# 1.14 15-Mar-2009 rmind

- Add kcpuset_fill(), kcpuset_set() and kcpuset_match().
- KNF while here.


# 1.13 14-Feb-2009 christos

make this work with pcc. The previous construct is not valid c99.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.12 27-Jul-2008 dholland

branches: 1.12.4; 1.12.6;
Don't convert cpuid_t through int while testing it for being in range.
(Might truncate it, for one thing. Also, if the shift result is < 0 the
demons have already flown out of our nose.)

Fixes some -Wsign-compare warnings.


# 1.11 14-Jul-2008 rmind

Add few KASSERTs.


# 1.10 22-Jun-2008 he

branches: 1.10.2;
Be consistent in how cpuset_nentries is computed in the kernel and
in user-land. This fixes the user-land part. Now "cpuctl identify 0"
gives a result instead of getting EINVAL from the set-affinity syscall.


Revision tags: wrstuden-revivesa-base wrstuden-revivesa-base-1
# 1.9 22-Jun-2008 rmind

kcpuset_isset: remove if-check. It is not reasonable for kernel,
saves few cycles, and it is better for CPU cache.


# 1.8 22-Jun-2008 christos

Separate cpuset and kcpuset, and only use the bits in userland. Requested
by yamt


Revision tags: yamt-pf42-base4
# 1.7 16-Jun-2008 christos

branches: 1.7.2;
We don't need any of this in standalone mode.


# 1.6 16-Jun-2008 christos

little more lint


# 1.5 16-Jun-2008 christos

make lint happy


# 1.4 16-Jun-2008 rmind

- Add general cpuset macros.
- Use kcpuset name for kernel-only functions.
- Use cpuid_t to specify CPU ID.
- Unify all cpuset users.

API is expected to be stable now.


# 1.3 15-Jun-2008 rmind

cpuset_create: check the return value of calloc().


# 1.2 15-Jun-2008 rmind

- cpuset_create: pass correct argument to sysctl(3).
- Constify few variables.


# 1.1 15-Jun-2008 christos

cpuset related functions, shared between the kernel and userland.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728
# 1.20 26-Jul-2018 kamil

Avoid undefined behavior in an cpuset.c

Do not change the signedness bit with a left shift operation.
Switch to unsigned integer to prevent this.

cpuset.c:112:18, left shift of 1 by 31 places cannot be represented in type 'int'

Detected with micro-UBSan in the user mode.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.19 04-Jan-2018 kamil

branches: 1.19.2;
Add bunch of missing includes of namespace.h in libc

The NetBSD Standard C Library uses internally some of its functions with
a mangled symbol name, usually "_symbol". The internal functions shall not
use the global (public) symbols.

This change eliminates usage of the global changes of the following symbols:
- strlcat -> _strlcat
- sysconf -> __sysconf
- closedir -> _closedir
- fparseln -> _fparseln
- kill -> _kill
- mkstemp -> _mkstemp
- reallocarr -> _reallocarr
- strcasecmp -> _strcasecmp
- strncasecmp -> _strncasecmp
- strptime -> _strptime
- strtok_r -> _strtok_r
- sysctl -> _sysctl
- dlopen -> __dlopen
- dlclose -> __dlclose
- dlsym -> __dlsym

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE tls-maxphys-20171202 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
# 1.18 09-Mar-2012 christos

Casts and type changes to fix portability issues.
- int -> size_t
- adjust width of RHS of shift
- adjust widths of types


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.17 07-Aug-2011 rmind

branches: 1.17.2;
Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.

Discussed on: tech-kern@


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 yamt-nfs-mp-base11
# 1.16 21-Sep-2010 rmind

_cpuset_create: initialize size argument for sysctl call.
From PR/43837 by Sandy Snaman.


Revision tags: yamt-nfs-mp-base10 rmind-uvmplock-base yamt-nfs-mp-base9 matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 jym-xensuspend-base
# 1.15 25-Apr-2009 rmind

- Add kcpuset_iszero().
- Fix kcpuset_match().


# 1.14 15-Mar-2009 rmind

- Add kcpuset_fill(), kcpuset_set() and kcpuset_match().
- KNF while here.


# 1.13 14-Feb-2009 christos

make this work with pcc. The previous construct is not valid c99.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.12 27-Jul-2008 dholland

branches: 1.12.4; 1.12.6;
Don't convert cpuid_t through int while testing it for being in range.
(Might truncate it, for one thing. Also, if the shift result is < 0 the
demons have already flown out of our nose.)

Fixes some -Wsign-compare warnings.


# 1.11 14-Jul-2008 rmind

Add few KASSERTs.


# 1.10 22-Jun-2008 he

branches: 1.10.2;
Be consistent in how cpuset_nentries is computed in the kernel and
in user-land. This fixes the user-land part. Now "cpuctl identify 0"
gives a result instead of getting EINVAL from the set-affinity syscall.


Revision tags: wrstuden-revivesa-base wrstuden-revivesa-base-1
# 1.9 22-Jun-2008 rmind

kcpuset_isset: remove if-check. It is not reasonable for kernel,
saves few cycles, and it is better for CPU cache.


# 1.8 22-Jun-2008 christos

Separate cpuset and kcpuset, and only use the bits in userland. Requested
by yamt


Revision tags: yamt-pf42-base4
# 1.7 16-Jun-2008 christos

branches: 1.7.2;
We don't need any of this in standalone mode.


# 1.6 16-Jun-2008 christos

little more lint


# 1.5 16-Jun-2008 christos

make lint happy


# 1.4 16-Jun-2008 rmind

- Add general cpuset macros.
- Use kcpuset name for kernel-only functions.
- Use cpuid_t to specify CPU ID.
- Unify all cpuset users.

API is expected to be stable now.


# 1.3 15-Jun-2008 rmind

cpuset_create: check the return value of calloc().


# 1.2 15-Jun-2008 rmind

- cpuset_create: pass correct argument to sysctl(3).
- Constify few variables.


# 1.1 15-Jun-2008 christos

cpuset related functions, shared between the kernel and userland.


# 1.19 04-Jan-2018 kamil

Add bunch of missing includes of namespace.h in libc

The NetBSD Standard C Library uses internally some of its functions with
a mangled symbol name, usually "_symbol". The internal functions shall not
use the global (public) symbols.

This change eliminates usage of the global changes of the following symbols:
- strlcat -> _strlcat
- sysconf -> __sysconf
- closedir -> _closedir
- fparseln -> _fparseln
- kill -> _kill
- mkstemp -> _mkstemp
- reallocarr -> _reallocarr
- strcasecmp -> _strcasecmp
- strncasecmp -> _strncasecmp
- strptime -> _strptime
- strtok_r -> _strtok_r
- sysctl -> _sysctl
- dlopen -> __dlopen
- dlclose -> __dlclose
- dlsym -> __dlsym

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-7-1-1-RELEASE tls-maxphys-20171202 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
# 1.18 09-Mar-2012 christos

Casts and type changes to fix portability issues.
- int -> size_t
- adjust width of RHS of shift
- adjust widths of types


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.17 07-Aug-2011 rmind

branches: 1.17.2;
Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.

Discussed on: tech-kern@


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 yamt-nfs-mp-base11
# 1.16 21-Sep-2010 rmind

_cpuset_create: initialize size argument for sysctl call.
From PR/43837 by Sandy Snaman.


Revision tags: yamt-nfs-mp-base10 rmind-uvmplock-base yamt-nfs-mp-base9 matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 jym-xensuspend-base
# 1.15 25-Apr-2009 rmind

- Add kcpuset_iszero().
- Fix kcpuset_match().


# 1.14 15-Mar-2009 rmind

- Add kcpuset_fill(), kcpuset_set() and kcpuset_match().
- KNF while here.


# 1.13 14-Feb-2009 christos

make this work with pcc. The previous construct is not valid c99.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.12 27-Jul-2008 dholland

branches: 1.12.4; 1.12.6;
Don't convert cpuid_t through int while testing it for being in range.
(Might truncate it, for one thing. Also, if the shift result is < 0 the
demons have already flown out of our nose.)

Fixes some -Wsign-compare warnings.


# 1.11 14-Jul-2008 rmind

Add few KASSERTs.


# 1.10 22-Jun-2008 he

branches: 1.10.2;
Be consistent in how cpuset_nentries is computed in the kernel and
in user-land. This fixes the user-land part. Now "cpuctl identify 0"
gives a result instead of getting EINVAL from the set-affinity syscall.


Revision tags: wrstuden-revivesa-base wrstuden-revivesa-base-1
# 1.9 22-Jun-2008 rmind

kcpuset_isset: remove if-check. It is not reasonable for kernel,
saves few cycles, and it is better for CPU cache.


# 1.8 22-Jun-2008 christos

Separate cpuset and kcpuset, and only use the bits in userland. Requested
by yamt


Revision tags: yamt-pf42-base4
# 1.7 16-Jun-2008 christos

branches: 1.7.2;
We don't need any of this in standalone mode.


# 1.6 16-Jun-2008 christos

little more lint


# 1.5 16-Jun-2008 christos

make lint happy


# 1.4 16-Jun-2008 rmind

- Add general cpuset macros.
- Use kcpuset name for kernel-only functions.
- Use cpuid_t to specify CPU ID.
- Unify all cpuset users.

API is expected to be stable now.


# 1.3 15-Jun-2008 rmind

cpuset_create: check the return value of calloc().


# 1.2 15-Jun-2008 rmind

- cpuset_create: pass correct argument to sysctl(3).
- Constify few variables.


# 1.1 15-Jun-2008 christos

cpuset related functions, shared between the kernel and userland.


# 1.18 09-Mar-2012 christos

Casts and type changes to fix portability issues.
- int -> size_t
- adjust width of RHS of shift
- adjust widths of types


# 1.17 07-Aug-2011 rmind

branches: 1.17.2;
Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.

Discussed on: tech-kern@


# 1.16 20-Sep-2010 rmind

_cpuset_create: initialize size argument for sysctl call.
From PR/43837 by Sandy Snaman.


# 1.15 25-Apr-2009 rmind

- Add kcpuset_iszero().
- Fix kcpuset_match().


# 1.14 15-Mar-2009 rmind

- Add kcpuset_fill(), kcpuset_set() and kcpuset_match().
- KNF while here.


# 1.13 14-Feb-2009 christos

make this work with pcc. The previous construct is not valid c99.


# 1.12 26-Jul-2008 dholland

branches: 1.12.4; 1.12.6;
Don't convert cpuid_t through int while testing it for being in range.
(Might truncate it, for one thing. Also, if the shift result is < 0 the
demons have already flown out of our nose.)

Fixes some -Wsign-compare warnings.


# 1.11 13-Jul-2008 rmind

Add few KASSERTs.


# 1.10 22-Jun-2008 he

branches: 1.10.2;
Be consistent in how cpuset_nentries is computed in the kernel and
in user-land. This fixes the user-land part. Now "cpuctl identify 0"
gives a result instead of getting EINVAL from the set-affinity syscall.


# 1.9 21-Jun-2008 rmind

kcpuset_isset: remove if-check. It is not reasonable for kernel,
saves few cycles, and it is better for CPU cache.


# 1.8 21-Jun-2008 christos

Separate cpuset and kcpuset, and only use the bits in userland. Requested
by yamt


# 1.7 16-Jun-2008 christos

branches: 1.7.2;
We don't need any of this in standalone mode.


# 1.6 15-Jun-2008 christos

little more lint


# 1.5 15-Jun-2008 christos

make lint happy


# 1.4 15-Jun-2008 rmind

- Add general cpuset macros.
- Use kcpuset name for kernel-only functions.
- Use cpuid_t to specify CPU ID.
- Unify all cpuset users.

API is expected to be stable now.


# 1.3 15-Jun-2008 rmind

cpuset_create: check the return value of calloc().


# 1.2 15-Jun-2008 rmind

- cpuset_create: pass correct argument to sysctl(3).
- Constify few variables.


# 1.1 15-Jun-2008 christos

cpuset related functions, shared between the kernel and userland.


# 1.7.2.2 17-Jun-2008 yamt

sync with head.


# 1.7.2.1 16-Jun-2008 yamt

file cpuset.c was added on branch yamt-pf42 on 2008-06-17 09:13:31 +0000


# 1.10.2.4 17-Sep-2008 wrstuden

Sync with wrstuden-revivesa-base-2.


# 1.10.2.3 24-Jun-2008 wrstuden

Actually use the version in wrstuden-revivesa-base-1. Compiles better.


# 1.10.2.2 23-Jun-2008 wrstuden

Add file missed in merge. Patch will add files, but won't make
new directories.


# 1.10.2.1 22-Jun-2008 wrstuden

file cpuset.c was added on branch wrstuden-revivesa on 2008-06-24 04:47:49 +0000


# 1.12.6.1 13-May-2009 jym

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.


# 1.12.4.1 20-Oct-2013 bouyer

Pull up following revision(s) (requested by dholland in ticket #1883):
common/lib/libc/sys/cpuset.c: revision 1.16
_cpuset_create: initialize size argument for sysctl call.
From PR/43837 by Sandy Snaman.


# 1.17.2.1 16-Apr-2012 yamt

sync with head