none
amdk8.sys and intelppm.sys

    Question

  • This might be a novice question, but I have done some preliminary searches and found little. Why do these power management routines (amdk8.sys and intelppm.sys) use the bulk of kernel events? I have used kernrate on several machines and these modules comprise better than 60% of kernel events. Can anyone tell me why this is so? Why would a power management routine for the processor, even one that controls throttleing be so busy. Any links to information would be helpful.
     
    Thanks,
     
    robert
    Thursday, April 17, 2008 7:53 AM

All replies

  • Hi Robert,
     
    This topic seems to be at least a little bit related to your inquiry.  But it probably does not answer it.  Unhappy
    Thursday, April 17, 2008 10:21 AM
  • These utilities may issue halt instructions to the CPU in place of, or to consume unused cycles. In effect it puts the CPU to sleep for a brief period which reduces power consumption and heat output. Absent of these utilities your CPU wouldn't be anywhere near as efficient.

    This may or may not be entirely accurate, but that's been my understand/assumptions about these utilties. Curious, I wonder what the driver names are for other CPU vendors, such as VIA and maybe Cyrix ?
    Sunday, April 20, 2008 1:55 PM
  • Crash Dump Analysis Patterns (Part 33) also touches on this:
    If there are no CPU-bound threads on a system then most of the time processors are looping in the so called idle thread where they are halted waiting for an interrupt to occur (HLT instruction)...
    2: kd> uf intelppm!AcpiC1Idle
    intelppm!AcpiC1Idle:
    f6e73c90 push    ecx
    f6e73c91 push    0
    f6e73c93 call    intelppm!KeQueryPerformanceCounter (f6e740c6)
    f6e73c98 mov     ecx,dword ptr [esp]
    f6e73c9b mov     dword ptr [ecx],eax
    f6e73c9d mov     dword ptr [ecx+4],edx
    f6e73ca0 sti
    f6e73ca1 hlt
    f6e73ca2 push    0
    f6e73ca4 call    intelppm!KeQueryPerformanceCounter (f6e740c6)
    f6e73ca9 pop     ecx
    f6e73caa mov     dword ptr [ecx+8],eax
    f6e73cad mov     dword ptr [ecx+0Ch],edx
    f6e73cb0 xor     eax,eax
    f6e73cb2 ret
    Sunday, April 20, 2008 7:21 PM
  • Very useful...
    Sunday, April 20, 2008 9:21 PM
  • I think that you guys hit the nail on the head. I ran a copy of process explorer while doing a divx convert. Process explorer reported no idle processes. Kernrate showed that the amdk8 process in this example was not even listed. Halt the mpeg4 compression and the AmdK8 module is back and running full time. I realize that this is empirical evidence only but it seems to jive with your explanation.

    Thanks,

    Robert

    Monday, April 21, 2008 1:38 AM