On 4/28/2011 8:20 AM, John Mathew wrote: > Intel hyperthreaded cores does not exactly behave like if it was 2 real cores. > - Actual HW cstate is roughly minimal cstate of the 2 threads. > As most of the resources are shared, HW resources are only really powered > down when both threads are idle. > - Interrupts always wakes up the 2 threads. i.e. terminate the 2 mwait. > So in case of an hyperthreaded core a wakeup event is affecting power only > when > both the threads are asleep. A wakeup event that occurs when one of > the thread is active should not be considered as a wakeup event. > > In case of hyperthreaded cores the thread ids that execute on the same core > will be reported in the > sys/devices/system/cpu/cpu%i/topology/thread_siblings_list. > A table is initially created with this thread sibling information > corresponding to > a cpu. When powertop gets a power_end event on a thread the thread_sibling > table > is looked up to identify the siblings of the cpu and each sibling is checked > it > has a wakeup pending. If any one sibling does not have a wakeup event pending > the power end event is ignored. > ---
so we already have this hierarchy in powertop (linux cpus vs cores vs package)... wonder if this should just fit into that also, Intel cpus tend to use the intel_cpus.cpp file not cpu.cpp.... _______________________________________________ Power mailing list [email protected] https://bughost.org/mailman/listinfo/power
