PM Summit memo: ============= Suspend Pavel Macheck ============= suspend to ram - video cards, this doesn't have in embedded and powerpc(???) APM - BIOS/HW is doing work OS has little to do,... broken(???) ACPI - acpi suspend video driver - OS to initialize driver. - X drivers would not work could suspend, but might not resume video driver. BIOS does/does not video card manipulation - vista... intel video chip ... how do you init hw you dont know? X need to learn how to init video,... nVidia card suspend to disk swsusp still faster than bios suspend to disk no progress bar and other UI suspend2 100% of memory in most cases. encripyton, compresson, suspend to file progress bar 40,000 lines userland swsusp do image writing at userland 1/2 of memory needed ======= cpufreq ======= originally from embedded market, then came transmeta crusoe cpu ... basic policy governer deside freq cpufreq notifier short-term issues Drivers where are the drivers? where are new drivers? Embedded? merge acpi_cpufreq ard speedstep_contrino? speedstep_smi intel please... on windows, pdc bit in intel(???) cpu herz, frequency, voltage... want to modify not only one value, but multiple values -> but they are related... ACPI/PC/BIOS <--> embedded, no APCI speed of smi driver reverse engineered, no datasheet ... Core more failsafe approach requeiring freq_table? cpufreq breaking other drives (networking...) governers allow ... to be used as default userspace have more knowledge than kernel (really?) in CELF, there was request of more governers... fan control.. could do as other -> bad idea to do as governer. long-term issues - allow multiple drivers CPU frequency scaling CPu volt. scaling CPU throtl FSB scaling mult-core scaling cell scaling ,... - also focus on kernel performance, (not onlye freq) %... meaningless since user want particular work load. UI for user to set operating point would be better a few profile list... ok. Is user demand long battery life, or high performance? ======================= DPM / PowerOp DynamicPowerManagement Todd Poynor, Matt Locke ======================= Hoping upstream, to put dpm or part of it. The Powerop hardware layer manages set of arbitrary power parameters just the dpm "operating point" abstraction geared toword enbeddded hardware dpm and cpufrq can share board specific code or maybe linux^pm has more ambitious plans powerop illust. cpufrq dpm \ / cpu \ / pass thru parameter for register val speed \ / powerop set/get hardware parameters powerop done on centrino laptop... dpm maps state to operatong points policy P runs operating point O at state S system stats include idle, per-ask, states, sleep, conserve power duing brief idle periods app can manage own custom state if desired power state can be ties to scheduleing policy resolve clocking confilicts per policy what to do when device D needs clock C rete R? dpm makes system designer choose in advance chooses =============================== Power Management at SUSE/Novell =============================== The Powersave Daemon general architecutre overview the powersave daeman schemes suspend to disk/ram cpu freq scaling Architecutre and IPC ((((kernel) cpu freq, ACPI, Device PM ) HAL, powersave daemon) clients) hal; hardware abstruction layer Powersave architecture powersave daemon similar to hibernate script in suspend2, going to integrate =========================== olpc - one laptop per child =========================== init_list on ROM - parallel device setup severely needs power management - to generate power - fast powerup/powerdown - turn off power as much as you can when not in use back light panel, etc ================================================= Towards a common Linux PM solution / Sampsa,nokia ================================================= n770 pm problem domain n770 system devel - use time - mem - performance - reliability (gnome base gtk, omap3, ) n770 pm - pm - browse, video, audio, news games,... - static pm - simple run-time pm (tickless, dyntick) pm; past, today, future - past: on/off/suspend, APM, Halt in idle - today: dyn volt freq scaling, leakage, driver state - future: framework..., QoS energy, userspace pm... Different devices, common goal Future pm: categorization - workload driven - service driven - consumption driven - context driven Userspace ideas/concept Kernelspace ideas/concept - operating point defines a supported hw config - constraints allow drives to limit choice of operating points - notifications are neede ot allow drivers to adapt - algorithms such as CPU load average provide basis for decisions =================================================== Addressing the Mobile Phone PM Challenge / Eric,TI =================================================== Mobile Phone Market Trends Severely Impact power Mobile phone req vs tech performance -> to xxx MHz tech -> leakage get bigger PM strategy PM techs - silicaon level, SoC level, Software level PM -Dual Vt, volt. scaling, SmartReflx(tm) AVS SmartReflx(tm) DVFS SmartReflx(tm) DPS description of omap 2420, ... soc ... 5 domains, mpu, dsp, ... ========================================== i.MX31 Power Management / FreeScale, Quinn ========================================== SoC ARM11 core, VFP, noDSP but MPEG encoding core, tons of new driers... Atlas - companion chip DPTC DVFS PowerDomains - MUC, L2, peripherals, PLL 3 level clock ARM IEM...(???) perspective, predict load and control volt/freq clock tree 2-3 PLL, divisors, etc -> consider using clock framework now using DPM ... Tools to measure, in embedded to servers. using gdb and measure power consumption of process simulator... expensive, not personal level. ==================================================================== PM Requirements for 2006 Overview and highlights / mark gross, intel ==================================================================== Tick-less idle ce devices need this badly, -> marged in 2.6.13, x86 -> hrtimer - now made abstract layer have to work on gettimeofday Interface for controlling PM knobs not threre now Design goals for PM frameworks struct cpufreq_driver nees to export core voltage more governers in cpu_freq? High latency idle state machine Measurement and benchmarking PM / scheduler coupling ================= Powernow K8 / AMD ================= AMD Processor PM and ACPI arch/i386/kernel/cpu/cpufreq/powernow-k8.c AMD Dual core processors voltage and freq is tied togather share common PLO cpufeq - "Affected CPUs" since 2.6.10> CPU Hotplug since 2.6.14> -> suspend needs hotplug [EOF]