configurer:processeur

Ceci est une ancienne révision du document !


Adapter finement son installation

Ceci s'adresse à ceux qui installent leur FreeBSD à partir des sources et peuvent ainsi donner à Clang/llvm des billes pour compiler au plus près de l'architecture processeur. C'est surtout important lorsque vous utilisez des poudrieres, donc lorsque vous compiler pour une cible différente de l'hôte.

Le premier échelon est de regarder ce que donnent les première lignes au boot:

david:~>dmesg | grep 'CPU:' -A 10
CPU: Intel(R) Core(TM) i3-4170 CPU @ 3.70GHz (3700.23-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x306c3  Family=0x6  Model=0x3c  Stepping=3
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7fdafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 17179869184 (16384 MB)
--
CPU: Intel(R) Core(TM) i3-4170 CPU @ 3.70GHz (3700.00-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x306c3  Family=0x6  Model=0x3c  Stepping=3
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7fdafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG>
  Structured Extended Features3=0x9c000600<MCUOPT,MD_CLEAR,IBPB,STIBP,L1DFL,SSBD>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics

Installez cpuc pour plus de précisions, ou llvm-tblgen.

Consultez /usr/share/mk/bsd.cpu.mk pour déterminer le code de votre architecture processeur et précisez le CPUTYPE dans make.conf de vos poudrières par exemples.

grep 'CPUTYPE.*==' /usr/share/mk/bsd.cpu.mk | less -X
david:~>grep 'CPUTYPE.*==.*k8.*' /usr/share/mk/bsd.cpu.mk 
    ${CPUTYPE} == "k8-sse3"
    ${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8"

Dans l'exemple précédent, c'est un K8 avec l'option sse3, définit par k8-sse3.

root@machine:~ # find /usr/local/etc/poudriere.d/*make.conf -exec grep CPUTYPE {} +
/usr/local/etc/poudriere.d/ampache-default-make.conf:CPUTYPE?=haswell
/usr/local/etc/poudriere.d/flarum-default-make.conf:CPUTYPE=sandybridge
/usr/local/etc/poudriere.d/llanura-default-make.conf:CPUTYPE?=k8-sse3
/usr/local/etc/poudriere.d/machine-default-make.conf:CPUTYPE=haswell
/usr/local/etc/poudriere.d/owncloud-default-make.conf:CPUTYPE?=haswell
/usr/local/etc/poudriere.d/popeye13-default-make.conf:CPUTYPE=sandybridge

Machine est donné comme CPU E3-1246, soit un Xeon. Il suffit de consulter la datasheet pour y voir le modèle haswell.

Popeye est donné comme i7-3930K, soit un Intel Core (à ne pas confondre avec core2). Il suffit de consulter la datasheet pour y voir le modèle sandybridge.

  • configurer/processeur.1671715453.txt.gz
  • Dernière modification : 2022/12/22 13:24
  • de david