Hi,
I am working on Omap4460 processor on Samsung Galaxy Nexus using Linux kernel 3.0.8. I have three questions -1] In file cpuidle44xx.c, the C4 state is defined as "C4 - CPU0 OFF + CPU1 OFF + MPU CSWR + CORE OSWR". Does CPUx OFF means a logical or physical offline of the CPU? (Logical OFF is that the CPU can't execute any more instructions but it is not hot plugged from the power source, instead it is removed from kernel's visibility, Is my understanding correct?)2] Also, writing a zero to cpu1/online makes the CPU1 go offline (is this offline a logical or physical?). This is checked by looking at the tasks (user applications) migrating from CPU1 to CPU0. Also from /proc/interrupts it is clear that the CPU1 doesn't handle any more interrupts. However, when I do the same on CPU0, it doesn't allow me to put CPU0 to offline even when it is idle. Does this mean that CPU0 can't put in offline mode or is it because of the user's UART interrupt wakes-up CPU0 automatically?
3] From ARM Cortex A9 manual which is used in OMAP 4460 processor.. it is said that "Wait for Interrupt mode disables all the clocks of a Cortex-A9 processor, while keeping its logic powered up. This reduces the power drawn to the static leakage current." If WFI reduces the static leakage current, can I say that the static power consumption caused by the leakage currents is Zero or almost zero in case of C4 state (CPU's OFF mode) ?
Reference: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/CACGJGEE.html
Thanks a ton in advance for clearing these doubts and your time.
Best Regards
Siva Penke
Hi Siva,
Please find the comments for your questions:
1) CPU0 OFF means it is logically powered off. It remains in the lowest possible power consumption mode. It only handles the wakeup from the different source like UART, keypad etc.
2) Yes you can put CPU1 online/offline at your wish in different scaling governors other than hotplug mode. But similarly it can not be done for CPU0. CPU0s is responsible for putting CPU1 online/offline and putting itself in to deep sleep mode for handling wakeup later when required.
3) Your understanding is correct as the CPU is not executing any instruction at this point hence there is not active power consumption. But it will have some leakage current as mentioned.
Regards,
Chintan
------------------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.------------------------------------------------------------------------------------------------------------------