diff options
author | bapt <bapt@FreeBSD.org> | 2015-03-17 19:10:51 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-03-17 19:10:51 +0000 |
commit | 4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4 (patch) | |
tree | 5533b31f3294a54f61e1b617711c9bb159d2f3e0 /share | |
parent | 86b635277a06f1b8eb92930f7a1cd5327c89be0a (diff) | |
parent | c00b4703949f8f1b7a7d2bd81919b332794cbd7f (diff) | |
download | FreeBSD-src-4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4.zip FreeBSD-src-4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4.tar.gz |
Merge from head
Diffstat (limited to 'share')
-rw-r--r-- | share/examples/etc/make.conf | 5 | ||||
-rw-r--r-- | share/man/man4/ddb.4 | 9 | ||||
-rw-r--r-- | share/man/man4/sfxge.4 | 21 | ||||
-rw-r--r-- | share/mk/bsd.README | 7 | ||||
-rw-r--r-- | share/mk/bsd.cpu.mk | 83 | ||||
-rw-r--r-- | share/mk/bsd.lib.mk | 23 | ||||
-rw-r--r-- | share/mk/bsd.links.mk | 34 | ||||
-rw-r--r-- | share/mk/bsd.sys.mk | 12 |
8 files changed, 119 insertions, 75 deletions
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf index ca0ea36..613eb02 100644 --- a/share/examples/etc/make.conf +++ b/share/examples/etc/make.conf @@ -44,8 +44,9 @@ # if omitted), ultrasparc3 # Additionally the following CPU types are recognized by clang: # Intel x86 architecture (for both amd64 and i386): -# (AMD CPUs) bdver3, bdver2, bdver1, btver2, btver1 -# (Intel CPUs) slm, core-avx2, core-avx-i, corei7-avx, corei7, atom +# (AMD CPUs) bdver4, bdver3, bdver2, bdver1, btver2, btver1 +# (Intel CPUs) skylake, knl, broadwell, haswell, ivybridge, +# sandybridge, westmere, nehalem, silvermont, bonnell # # (?= allows to buildworld for a different CPUTYPE.) # diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index 15ff4f7..8d2a947 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -60,7 +60,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 15, 2014 +.Dd March 16, 2015 .Dt DDB 4 .Os .Sh NAME @@ -620,6 +620,13 @@ for more details. Show registers specific to the Cyrix processor. .\" .Pp +.It Ic show Cm devmap +Prints the contents of the static device mapping table. +Currently only available on the +ARM +architecture. +.\" +.Pp .It Ic show Cm domain Ar addr Print protocol domain structure .Vt struct domain diff --git a/share/man/man4/sfxge.4 b/share/man/man4/sfxge.4 index 09b59eb..c745368 100644 --- a/share/man/man4/sfxge.4 +++ b/share/man/man4/sfxge.4 @@ -120,6 +120,27 @@ The value must be greater than or equal to 0. The maximum number of allocated RSS channels for the Nth adapter. If set to 0 or unset, the number of channels is determined by the number of CPU cores. +.It Va hw.sfxge.lro.table_size +Size of the LRO hash table. +Must be a power of 2. +A larger table means we can accelerate a larger number of streams. +.It Va hw.sfxge.lro.chain_max +The maximum length of a hash chain. +If chains get too long then the lookup time increases and may exceed +the benefit of LRO. +.It Va hw.sfxge.lro.idle_ticks +The maximum time (in ticks) that a connection can be idle before it's LRO +state is discarded. +.It Va hw.sfxge.lro.slow_start_packets +Number of packets with payload that must arrive in-order before a connection +is eligible for LRO. +The idea is we should avoid coalescing segments when the sender is in +slow-start because reducing the ACK rate can damage performance. +.It Va hw.sfxge.lro.loss_packets +Number of packets with payload that must arrive in-order following loss +before a connection is eligible for LRO. +The idea is we should avoid coalescing segments when the sender is recovering +from loss, because reducing the ACK rate can damage performance. .El .Sh SUPPORT For general information and support, diff --git a/share/mk/bsd.README b/share/mk/bsd.README index ffbe825..89e7f1c 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -336,6 +336,13 @@ with the current needs of the BSD tree. It sets/uses the following variables: +LIB The name of the library to build. + +LIB_CXX The name of the library to build. It also causes + <bsd.lib.mk> to link the library with the + standard C++ library. LIB_CXX overrides the value + of LIB if LIB is also set. + LIBDIR Target directory for libraries. LINTLIBDIR Target directory for lint libraries. diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index da5f5f2..4b61908 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -24,41 +24,50 @@ MACHINE_CPU = mips # Handle aliases (not documented in make.conf to avoid user confusion # between e.g. i586 and pentium) -. if ${MACHINE_CPUARCH} == "i386" +. if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" . if ${CPUTYPE} == "barcelona" CPUTYPE = amdfam10 -. elif ${CPUTYPE} == "k7" -CPUTYPE = athlon -. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" -CPUTYPE = corei7 +. elif ${CPUTYPE} == "core-avx2" +CPUTYPE = haswell +. elif ${CPUTYPE} == "core-avx-i" +CPUTYPE = ivybridge +. elif ${CPUTYPE} == "corei7-avx" +CPUTYPE = sandybridge +. elif ${CPUTYPE} == "corei7" +CPUTYPE = nehalem +. elif ${CPUTYPE} == "slm" +CPUTYPE = silvermont +. elif ${CPUTYPE} == "atom" +CPUTYPE = bonnell . elif ${CPUTYPE} == "core" CPUTYPE = prescott -. elif ${CPUTYPE} == "p4" +. endif +. if ${MACHINE_CPUARCH} == "amd64" +. if ${CPUTYPE} == "prescott" +CPUTYPE = nocona +. endif +. else +. if ${CPUTYPE} == "k7" +CPUTYPE = athlon +. elif ${CPUTYPE} == "p4" CPUTYPE = pentium4 -. elif ${CPUTYPE} == "p4m" +. elif ${CPUTYPE} == "p4m" CPUTYPE = pentium4m -. elif ${CPUTYPE} == "p3" +. elif ${CPUTYPE} == "p3" CPUTYPE = pentium3 -. elif ${CPUTYPE} == "p3m" +. elif ${CPUTYPE} == "p3m" CPUTYPE = pentium3m -. elif ${CPUTYPE} == "p-m" +. elif ${CPUTYPE} == "p-m" CPUTYPE = pentium-m -. elif ${CPUTYPE} == "p2" +. elif ${CPUTYPE} == "p2" CPUTYPE = pentium2 -. elif ${CPUTYPE} == "i686" +. elif ${CPUTYPE} == "i686" CPUTYPE = pentiumpro -. elif ${CPUTYPE} == "i586/mmx" +. elif ${CPUTYPE} == "i586/mmx" CPUTYPE = pentium-mmx -. elif ${CPUTYPE} == "i586" +. elif ${CPUTYPE} == "i586" CPUTYPE = pentium -. endif -. elif ${MACHINE_CPUARCH} == "amd64" -. if ${CPUTYPE} == "barcelona" -CPUTYPE = amdfam10 -. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" -CPUTYPE = corei7 -. elif ${CPUTYPE} == "prescott" -CPUTYPE = nocona +. endif . endif . elif ${MACHINE_ARCH} == "sparc64" . if ${CPUTYPE} == "us" @@ -140,7 +149,9 @@ _CPUCFLAGS = -mcpu=ultrasparc3 # presence of a CPU feature. . if ${MACHINE_CPUARCH} == "i386" -. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ +. if ${CPUTYPE} == "bdver4" +MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 . elif ${CPUTYPE} == "btver2" @@ -165,15 +176,18 @@ MACHINE_CPU = 3dnow mmx k6 k5 i586 MACHINE_CPU = mmx k6 k5 i586 . elif ${CPUTYPE} == "k5" MACHINE_CPU = k5 i586 -. elif ${CPUTYPE} == "core-avx2" +. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl" +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 +. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx" +. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7" +. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \ + ${CPUTYPE} == "silvermont" MACHINE_CPU = sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "penryn" MACHINE_CPU = sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2" +. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell" MACHINE_CPU = ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "yonah" || ${CPUTYPE} == "prescott" MACHINE_CPU = sse3 sse2 sse i686 mmx i586 @@ -203,7 +217,9 @@ MACHINE_CPU = mmx . endif MACHINE_CPU += i486 . elif ${MACHINE_CPUARCH} == "amd64" -. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ +. if ${CPUTYPE} == "bdver4" +MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 . elif ${CPUTYPE} == "btver2" @@ -218,15 +234,18 @@ MACHINE_CPU = k8 3dnow sse3 . elif ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || \ ${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8" MACHINE_CPU = k8 3dnow -. elif ${CPUTYPE} == "core-avx2" +. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl" +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 +. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 -. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx" +. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 -. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7" +. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \ + ${CPUTYPE} == "silvermont" MACHINE_CPU = sse42 sse41 ssse3 sse3 . elif ${CPUTYPE} == "penryn" MACHINE_CPU = sse41 ssse3 sse3 -. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2" +. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell" MACHINE_CPU = ssse3 sse3 . elif ${CPUTYPE} == "nocona" MACHINE_CPU = sse3 diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 4539da0..29a21f1 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -4,6 +4,13 @@ .include <bsd.init.mk> +.if defined(LIB_CXX) +LIB= ${LIB_CXX} +_LD= ${CXX} +.else +_LD= ${CC} +.endif + # Set up the variables controlling shared libraries. After this section, # SHLIB_NAME will be defined only if we are to create a shared library. # SHLIB_LINK will be defined only if we are to create a link to it. @@ -177,11 +184,7 @@ _LIBS= lib${LIB}.a lib${LIB}.a: ${OBJS} ${STATICOBJS} @${ECHO} building static ${LIB} library @rm -f ${.TARGET} -.if !defined(NM) - @${AR} ${ARFLAGS} ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} -.else @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} -.endif ${RANLIB} ${RANLIBFLAGS} ${.TARGET} .endif @@ -195,11 +198,7 @@ NOPATH_FILES+= ${POBJS} lib${LIB}_p.a: ${POBJS} @${ECHO} building profiled ${LIB} library @rm -f ${.TARGET} -.if !defined(NM) - @${AR} ${ARFLAGS} ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD} -.else @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD} -.endif ${RANLIB} ${RANLIBFLAGS} ${.TARGET} .endif @@ -232,15 +231,9 @@ ${SHLIB_NAME_FULL}: ${SOBJS} .if defined(SHLIB_LINK) @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} .endif -.if !defined(NM) - @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ - -o ${.TARGET} -Wl,-soname,${SONAME} \ - `lorder ${SOBJS} | tsort -q` ${LDADD} -.else - @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ + ${_LD} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ -o ${.TARGET} -Wl,-soname,${SONAME} \ `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD} -.endif .if ${MK_CTF} != "no" ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS} .endif diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk index 6f46563..87b808f 100644 --- a/share/mk/bsd.links.mk +++ b/share/mk/bsd.links.mk @@ -6,33 +6,19 @@ .if defined(NO_ROOT) .if !defined(TAGS) || ! ${TAGS:Mpackage=*} -TAGS+= package=${PACKAGE} +TAGS+= package=${PACKAGE} .endif -TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} +TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} .endif afterinstall: _installlinks .ORDER: realinstall _installlinks _installlinks: -.if defined(LINKS) && !empty(LINKS) - @set ${LINKS}; \ - while test $$# -ge 2; do \ - l=${DESTDIR}$$1; \ - shift; \ - t=${DESTDIR}$$1; \ - shift; \ - ${ECHO} $$t -\> $$l; \ - ${INSTALL_LINK} ${TAG_ARGS} $$l $$t; \ - done; true -.endif -.if defined(SYMLINKS) && !empty(SYMLINKS) - @set ${SYMLINKS}; \ - while test $$# -ge 2; do \ - l=$$1; \ - shift; \ - t=${DESTDIR}$$1; \ - shift; \ - ${ECHO} $$t -\> $$l; \ - ${INSTALL_SYMLINK} ${TAG_ARGS} $$l $$t; \ - done; true -.endif +.for s t in ${LINKS} + @${ECHO} "$t -> $s" ;\ + ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}$s ${DESTDIR}$t +.endfor +.for s t in ${SYMLINKS} + @${ECHO} "$t -> $s" ;\ + ${INSTALL_SYMLINK} ${TAG_ARGS} $s ${DESTDIR}/$t +.endfor diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 578fcd5..3cb44c5 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -68,13 +68,16 @@ CWARNFLAGS+= -Wno-pointer-sign # is set to low values, these have to be disabled explicitly. .if ${WARNS} <= 6 CWARNFLAGS.clang+= -Wno-empty-body -Wno-string-plus-int -.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} > 30300 +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30400 CWARNFLAGS.clang+= -Wno-unused-const-variable .endif .endif # WARNS <= 6 .if ${WARNS} <= 3 CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-unused-value\ -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600 +CWARNFLAGS.clang+= -Wno-unused-local-typedef +.endif .endif # WARNS <= 3 .if ${WARNS} <= 2 CWARNFLAGS.clang+= -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter @@ -106,6 +109,13 @@ CWARNFLAGS+= -Werror CWARNFLAGS+= -Wno-format .endif # NO_WFORMAT || NO_WFORMAT.${COMPILER_TYPE} +# How to handle FreeBSD custom printf format specifiers. +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600 +FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__ +.else +FORMAT_EXTENSIONS= -fformat-extensions +.endif + .if defined(IGNORE_PRAGMA) CWARNFLAGS+= -Wno-unknown-pragmas .endif # IGNORE_PRAGMA |