Hakan BAYINDIR wrote: > Volkan YAZICI wrote: >> On Tue, 01 Jul 2008, Hakan BAYINDIR <firstname.lastname@example.org> writes: >>> # >>> # CPU Frequency scaling >>> # >>> CONFIG_CPU_FREQ=y >>> CONFIG_CPU_FREQ_TABLE=m >>> # CONFIG_CPU_FREQ_DEBUG is not set >>> CONFIG_CPU_FREQ_STAT=m >>> # CONFIG_CPU_FREQ_STAT_DETAILS is not set >>> CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y >>> # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set >>> # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set >>> # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set >>> CONFIG_CPU_FREQ_GOV_PERFORMANCE=y >>> CONFIG_CPU_FREQ_GOV_POWERSAVE=m >>> CONFIG_CPU_FREQ_GOV_USERSPACE=m >>> CONFIG_CPU_FREQ_GOV_ONDEMAND=m >>> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m >>> >>> # >>> # CPUFreq processor drivers >>> # >>> CONFIG_X86_ACPI_CPUFREQ=m >>> CONFIG_X86_POWERNOW_K6=m >>> CONFIG_X86_POWERNOW_K7=m >>> CONFIG_X86_POWERNOW_K7_ACPI=y >>> CONFIG_X86_POWERNOW_K8=m >>> CONFIG_X86_POWERNOW_K8_ACPI=y >>> CONFIG_X86_GX_SUSPMOD=m >>> CONFIG_X86_SPEEDSTEP_CENTRINO=m >>> CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y >>> CONFIG_X86_SPEEDSTEP_ICH=m >>> CONFIG_X86_SPEEDSTEP_SMI=m >>> CONFIG_X86_P4_CLOCKMOD=m >>> CONFIG_X86_CPUFREQ_NFORCE2=m >>> CONFIG_X86_LONGRUN=m >>> CONFIG_X86_LONGHAUL=m >>> CONFIG_X86_E_POWERSAVER=m >> Also "lsmod" output will be helpful as well. >> >> >> Regards. >> >> > > After subscribing to cpu-freq mailing list and asking the same question here, > Venkatesh Pallipadi from intel answered my question. He said that since voltages > in a CPU package is constant across cores, keeping frequencies low on other > cores while clocking one up doesn't save considerable amount of power. Because > of this fact, they keep the frequencies in a core synchronized if possible. > > Since his message is more informational than that, I'm quoting information parts > from the conversation below: > >> In actual hardware, voltage is coordinated at socket level and that is the reason frequencies in one socket are tied together. Now, what has changed in two above config will be the mode in which kernel operates: >> 1) Hardware coordination mode: Kernel thinks each core is having independent frequency and reports the same. Underneath, hardware does frequency coodination and picks the highest requested frequency among all cores and runs all cores at that freq. >> 2) Software coordination mode: Kernel understands which specific CPUs are dependent and picks the highest frequency needed among all such dependent cores and makes single request for such frequency and reports the same. >> >> Note that there should not be any power consumption difference with these two kernels on under identical load. Just that the kernel now knows more about the frequency dependencies in the platform. > > and > >> Both Core 2 Duo and Core 2 Quad, voltage is sync'ed across all cores in a single socket due to VR restriction. Most of the power savings from lower freq comes from lower voltage. As all cores in a single socket runs on same voltage here, independent voltage is not possible. On a real multi-socket system (dual or quad socket serves, cores in each socket can be at different frequencies though). >> >> Older linux kernel only supports hardware coordination which explains the pre 2.6.21 behavior. Newer Linux kernel picks up hardware coordination mode or software coordination mode based on depending on BIOS capability and information it gets from BIOS ACPI table. So, it is possible that different systems have different coordination mode active, with same kernel. > > > Thanks to all for your help and time, > > Cheers and Regards, > > --Hakan > > P.S: > > For reference, my PC configuration is below: > > CPU: Intel Core2Quad Q6600, 2.4GHz > M/B: MSI P35 Platinum, BIOS ver. 1.8 > RAM: 4GB OCz Flex XLC CL3 DDR2 > Distro: Debian testing > Kernel: 2.6.24-1-686-bigmem > Umm a last, small clarification: It seems like Core series CPUs cannot scale their cores independently and this was an illusion I saw from kernel behavior. After reading the conversation again, I got it completely. Thanks again. Cheers, --Hakan.
Description: OpenPGP digital signature