cvs commit: src/sys/i386/i386 local_apic.c mp_machdep.c src/sys/amd64/amd64 local_apic.c mp_machdep.c

Peter Wemm peter at
Thu Aug 2 14:17:59 PDT 2007

peter       2007-08-02 21:17:58 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        local_apic.c mp_machdep.c 
    sys/amd64/amd64      local_apic.c mp_machdep.c 
  Move mp_topology() from apic_init(i386) and apic_setup_local(amd64) to
  cpu_start_mp().  This is after we have read the cpuid registers to
  calculate the hyperthreading_cpus value for the sysctl that enables or
  disables hyperthread cores.  Change mp_topology() to use that information
  rather than trying to do it itself.
  This solves the problem of ULE being incorrectly told that dual core
  Athlon64 X2 or Operton cpus are hyperthreading cores.  At the very least,
  we now have a single piece of code to identify hyperthreading.
  Obtained from:  jhb
  Approved by:  re (kensmith)
  Revision  Changes    Path
  1.41      +0 -4      src/sys/amd64/amd64/local_apic.c
  1.287     +6 -14     src/sys/amd64/amd64/mp_machdep.c
  1.43      +0 -4      src/sys/i386/i386/local_apic.c
  1.281     +6 -14     src/sys/i386/i386/mp_machdep.c

More information about the cvs-src mailing list