• William Cohen's avatar
    x86/oprofile: fix Intel cpu family 6 detection · 3d337c65
    William Cohen authored
    Alan Jenkins wrote:
    > This is on an EeePC 701, /proc/cpuinfo as attached.
    >
    > Is this expected?  Will the next release work?
    >
    > Thanks, Alan
    >
    > # opcontrol --setup --no-vmlinux
    > cpu_type 'unset' is not valid
    > you should upgrade oprofile or force the use of timer mode
    >
    > # opcontrol -v
    > opcontrol: oprofile 0.9.4 compiled on Nov 29 2008 22:44:10
    >
    > # cat /dev/oprofile/cpu_type
    > i386/p6
    > # uname -r
    > 2.6.28-rc6eeepc
    
    Hi Alan,
    
    Looking at the kernel driver code for oprofile it can return the "i386/p6" for
    the cpu_type. However, looking at the user-space oprofile code there isn't the
    matching entry in libop/op_cpu_type.c or the events/unit_mask files in
    events/i386 directory.
    
    The Intel AP-485 says this is a "Intel Pentium M processor model D". Seems like
    the oprofile kernel driver should be identifying the processor as "i386/p6_mobile"
    
    The driver identification code doesn't look quite right in nmi_init.c
    
    http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=blob;f=arch/x86/oprofile/nmi_int.c;h=022cd41ea9b4106e5884277096e80e9088a7c7a9;hb=HEAD
    
    has:
    
    409         case 10 ... 13:
    410                 *cpu_type = "i386/p6";
    411                 break;
    
    Referring to the Intel AP-485:
    case 10 and 11 should produce "i386/piii"
    case 13 should produce "i386/p6_mobile"
    
    I didn't see anything for case 12.
    
    Something like the attached patch. I don't have a celeron machine to verify that
    changes in this area of the kernel fix thing.
    
    -Will
    Signed-off-by: default avatarWilliam Cohen <wcohen@redhat.com>
    Tested-by: default avatarAlan Jenkins <alan-jenkins@tuffmail.co.uk>
    Acked-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
    3d337c65
nmi_int.c 11.2 KB