Page MenuHomeFreeBSD

Default INDEX_JOBS to kern.smp.cpus
ClosedPublic

Authored by koobs on Jul 9 2014, 2:58 AM.
Tags
None
Referenced Files
Unknown Object (File)
May 16 2026, 12:13 PM
Unknown Object (File)
May 16 2026, 11:07 AM
Unknown Object (File)
May 15 2026, 3:21 PM
Unknown Object (File)
Apr 7 2026, 5:40 PM
Unknown Object (File)
Mar 13 2026, 2:31 PM
Unknown Object (File)
Mar 13 2026, 2:24 PM
Unknown Object (File)
Mar 2 2026, 8:39 PM
Unknown Object (File)
Mar 2 2026, 8:27 PM

Details

Reviewers
swills
bdrewery
Group Reviewers
portmgr
Summary

INDEX_JOBS currently defaults to 2 for the make index target.

MAKE_JOBS_NUMBER in bsd.port.mk currently uses kern.smp.cpus to select a default.

Modify INDEX_JOBS to match.

Test Plan

System is a virtualized (Virtualbox) FreeBSD guest:

9.2-STABLE FreeBSD 9.2-STABLE #1 r264519 GENERIC
CPU: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (3358.13-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
real memory = 4898947072 (4672 MB)
avail memory = 4095422464 (3905 MB)

INDEX_JOBS=2 - 9m30.02s real 14m57.61s user 3m20.82s sys (default)
INDEX_JOBS=4 - 6m42.97s real 19m4.01s user 3m39.63s sys (kern.smp.cpus)
INDEX_JOBS=5 - 6m45.01s real 19m18.85s user 4m7.90s sys
INDEX_JOBS=6 - 6m15.57s real 18m45.42s user 3m38.30s sys
INDEX_JOBS=8 - 6m56.70s real 18m47.22s user 4m9.24s sys

IO (ZFS), CPU and Memory utilisation is nominal (not saturated) during the runs:

NAME PROPERTY VALUE SOURCE
storage/usr/ports type filesystem -
storage/usr/ports creation Wed May 29 23:14 2013 -
storage/usr/ports used 725M -
storage/usr/ports available 11.5G -
storage/usr/ports referenced 725M -
storage/usr/ports compressratio 1.79x -
storage/usr/ports mounted yes -
storage/usr/ports quota none default
storage/usr/ports reservation none default
storage/usr/ports recordsize 128K default
storage/usr/ports mountpoint /usr/ports local
storage/usr/ports sharenfs off default
storage/usr/ports checksum on inherited from storage
storage/usr/ports compression lz4 local
storage/usr/ports atime off inherited from storage
storage/usr/ports devices on default
storage/usr/ports exec on default
storage/usr/ports setuid on default
storage/usr/ports readonly off default
storage/usr/ports jailed off default
storage/usr/ports snapdir hidden default
storage/usr/ports aclmode discard default
storage/usr/ports aclinherit restricted default
storage/usr/ports canmount on default
storage/usr/ports xattr off temporary
storage/usr/ports copies 1 default
storage/usr/ports version 5 -
storage/usr/ports utf8only off -
storage/usr/ports normalization none -
storage/usr/ports casesensitivity sensitive -
storage/usr/ports vscan off default
storage/usr/ports nbmand off default
storage/usr/ports sharesmb off default
storage/usr/ports refquota none default
storage/usr/ports refreservation none default
storage/usr/ports primarycache all inherited from storage
storage/usr/ports secondarycache all default
storage/usr/ports usedbysnapshots 0 -
storage/usr/ports usedbydataset 725M -
storage/usr/ports usedbychildren 0 -
storage/usr/ports usedbyrefreservation 0 -
storage/usr/ports logbias latency default
storage/usr/ports dedup off default
storage/usr/ports mlslabel -
storage/usr/ports sync standard default
storage/usr/ports refcompressratio 1.79x -
storage/usr/ports written 725M -
storage/usr/ports logicalused 1.19G -
storage/usr/ports logicalreferenced 1.19G -

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

koobs retitled this revision from to Default INDEX_JOBS to kern.smp.cpus.
koobs updated this object.
koobs edited the test plan for this revision. (Show Details)
koobs added a reviewer: portmgr.
koobs set the repository for this revision to rP FreeBSD ports repository.

Perhaps you need:

.if !defined (INDEX_JOBS)
INDEX_JOBS!= ${SYSCTL} -n kern.smp.cpus
.endif

so that the sysctl is only called when you define the value rather than each time INDEX_JOBS is referenced. I could be completely wrong here though.

bapt requested changes to this revision.Jul 15 2014, 1:16 PM
bapt added a reviewer: bapt.
bapt added a subscriber: bapt.

Please fix according to swills comment

This revision now requires changes to proceed.Jul 15 2014, 1:16 PM
koobs edited edge metadata.

Conditional assignment and execution of sysctl (swills)

bdrewery added a reviewer: bdrewery.
bdrewery added a subscriber: bdrewery.

+1

This revision is now accepted and ready to land.Aug 18 2014, 4:20 AM

Committed revision 365265.

This comment was removed by koobs.