[Bug 213155] possible kernel regression when running 11.x-RELEASE on KVM on AMD Opterons

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Oct 12 09:02:55 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213155

--- Comment #20 from Oliver Böttcher <marvin0815 at gmail.com> ---
I don't know if this is of any interest but I want to help to track down this
issue.

I started to enable and disable several features in libvirt's machine config to
find out when it starts to hang.

Here are some remarks worth to mention:

This works:
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Opteron_G3</model>
    <feature policy='optional' name='aes'/>
    <feature policy='optional' name='pclmuldq'/>
    <feature policy='optional' name='fma4'/>
    <feature policy='optional' name='avx'/>
    <feature policy='optional' name='ssse3'/>
    <feature policy='optional' name='sse4.2'/>
    <feature policy='optional' name='xop'/>
    <feature policy='optional' name='f16c'/>
    <feature policy='optional' name='pdpe1gb'/>
    <feature policy='optional' name='fma'/>
    <feature policy='optional' name='tbm'/>
    <feature policy='optional' name='sse4.1'/>
    <feature policy='optional' name='3dnowprefetch'/>
  </cpu>

This does not work:
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Opteron_G3</model>
    <feature policy='optional' name='aes'/>
    <feature policy='optional' name='pclmuldq'/>
    <feature policy='optional' name='fma4'/>
    <feature policy='optional' name='avx'/>
    <feature policy='optional' name='ssse3'/>
    <feature policy='optional' name='sse4.2'/>
    <feature policy='optional' name='xop'/>
    <feature policy='optional' name='f16c'/>
    <feature policy='optional' name='pdpe1gb'/>
    <feature policy='optional' name='fma'/>
    <feature policy='optional' name='tbm'/>
    <feature policy='optional' name='sse4.1'/>
    <feature policy='optional' name='3dnowprefetch'/>
    <feature policy='optional' name='xsave'/>
  </cpu>

All these features are the differences between Opteron_G3 and Opteron_G5. Oddly
enough, enabling xsave gives a kernel panic.

panic: CPU0 does not support X87 or SSE: 0

(See screenshot attached. Note this is HardenedBSD but also affects FBSD
11.1-RELEASE)

So I started to build up my config to start with model=qemu64 and enable all
features as stated for Opteron_G5 in /usr/share/libvirt/cpu_map.xml

  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>qemu64</model>
    <feature policy='optional' name='3dnowprefetch'/>
    <feature policy='optional' name='abm'/>
    <feature policy='optional' name='aes'/>
    <feature policy='optional' name='apic'/>
    <feature policy='optional' name='avx'/>
    <feature policy='optional' name='clflush'/>
    <feature policy='optional' name='cmov'/>
    <feature policy='optional' name='cx16'/>
    <feature policy='optional' name='cx8'/>
    <feature policy='optional' name='de'/>
    <feature policy='optional' name='f16c'/>
    <feature policy='optional' name='fma'/>
    <feature policy='optional' name='fma4'/>
    <feature policy='optional' name='fpu'/>
    <feature policy='optional' name='fxsr'/>
    <feature policy='optional' name='lahf_lm'/>
    <feature policy='optional' name='lm'/>
    <feature policy='optional' name='mca'/>
    <feature policy='optional' name='mce'/>
    <feature policy='optional' name='misalignsse'/>
    <feature policy='optional' name='mmx'/>
    <feature policy='optional' name='msr'/>
    <feature policy='optional' name='mtrr'/>
    <feature policy='optional' name='nx'/>
    <feature policy='optional' name='pae'/>
    <feature policy='optional' name='pat'/>
    <feature policy='optional' name='pclmuldq'/>
    <feature policy='optional' name='pdpe1gb'/>
    <feature policy='optional' name='pge'/>
    <feature policy='optional' name='pni'/>
    <feature policy='optional' name='popcnt'/>
    <feature policy='optional' name='pse'/>
    <feature policy='optional' name='pse36'/>
    <feature policy='optional' name='rdtscp'/>
    <feature policy='optional' name='sep'/>
    <feature policy='optional' name='sse'/>
    <feature policy='optional' name='sse2'/>
    <feature policy='optional' name='sse4.1'/>
    <feature policy='optional' name='sse4.2'/>
    <feature policy='optional' name='sse4a'/>
    <feature policy='optional' name='ssse3'/>
    <feature policy='optional' name='svm'/>
    <feature policy='optional' name='syscall'/>
    <feature policy='optional' name='tbm'/>
    <feature policy='optional' name='tsc'/>
    <feature policy='optional' name='xop'/>
    <feature policy='optional' name='xsave'/>
  </cpu>

/var/run/dmesg.boot:
CPU: QEMU Virtual CPU version 2.5+ (2300.30-MHz K8-class CPU)
  Origin="AuthenticAMD"  Id=0x6d3  Family=0x6  Model=0xd  Stepping=3
 
Features=0x783fbfd<FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
 
Features2=0xbeb83203<SSE3,PCLMULQDQ,SSSE3,FMA,CX16,SSE4.1,SSE4.2,x2APIC,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,HV>
  AMD Features=0x24100800<SYSCALL,NX,Page1GB,LM>
  AMD Features2=0x2109e1<LAHF,ABM,SSE4A,MAS,Prefetch,XOP,FMA4,TBM>

I hope this helps someone.
Oliver

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list