A system is composed of various hardware and software components. Power management is required at different levels – hardware, device, SoC, CPUs, etc. to turn off unused peripherals/components without compromising performance, at the same time reducing overall power consumption and improving the battery life. This whitepaper describes various Linux kernel power management techniques used to reduce overall system power consumption.