Jonghwa Lee assistant engineer Samsung Electronics

Similar documents
A short status. August 20, 2015

i.mx 6 Temperature Sensor Module

Semester Thesis at the Department of Information Technology and Electrical Engineering. Cool Linux SS Jan Bernegger and Gino Brunner

CSE 380 Computer Operating Systems

Saving Energy in the LU Factorization with Partial Pivoting on Multi-Core Processors

Rain Watch TM Set up Manual. IC System with Rain Bird IC CONNECT

TORO SENTINEL APPLICATION NOTE AN01: ET-BASED PROGRAMMING

Integration of an Active Brake Pedal Simulator in the CarMaker Environment for Design and Evaluation of Haptic Driver Assistance Systems

CPU-1450; Thermal management Rev. 0.1 Dec COPYRIGHT Eurotech S.p.A. All Rights Reserved.

OHW2013 workshop. An open source PCIe device virtualization framework

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE

EECS 579: Logic and Fault Simulation. Simulation

Branch Prediction based attacks using Hardware performance Counters IIT Kharagpur

Lasentec Product Group

HERU Modbus. Reference Modbus addresses for HERU (Gen 3)

Data Bulletin. SEPAM 49RMS Application Note Protection for Motor Applications Class Number SEPAM 49RMS Protection for Motor Applications

Capture and Replay Hardware behaviour

Thermal Scheduling SImulator for Chip Multiprocessors

Thermal Resistance Measurement

SP-700 Free Chlorine Analysis TMB Method

ICP-MS. High Resolution ICP-MS.

XR Analog Clock - Manual Setting Model Troubleshooting Guide

Android Security Mechanisms

Usability Extensions for the Worklet Service

Using FLOTHERM and the Command Center to Exploit the Principle of Superposition

CERT Educational Series Heat Transfer

CITY UNIVERSITY SCHOOL OF ENGINEERING AND MATHEMATICAL SCIENCES

TeraLED. Thermal and Radiometric Characterization of LEDs. Technical Specification.

Application note AN0088. Number. 05-Aug-04. Date. Helmut Artmeier. Author. Thermal Design Guidelines. Subject ETX-PM.

Qualitative vs Quantitative metrics

( v 1 + v 2 ) + (3 v 1 ) = 4 v 1 + v 2. and ( 2 v 2 ) + ( v 1 + v 3 ) = v 1 2 v 2 + v 3, for instance.

Lasentec Product Group

Time. Today. l Physical clocks l Logical clocks

Enough Entropy? Justify It!

Comparative assessment of a temperature distribution into different CPU coolers

Introduction to Linux Device Drivers Recreating Life One Driver At a Time

Why should you care?? Intellectual curiosity. Gambling. Mathematically the same as the ESP decision problem we discussed in Week 4.

LXCFS: Not just for LXC anymore

Random Number Generation Is Getting Harder It s Time to Pay Attention

DYNAMIC LOAD COMPENSATION

How to deal with uncertainties and dynamicity?

St art. rp m. Km /h 1: : : : : : : : : : : : :5 2.5.

FSA TM Multi-bit Digital Processors

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Rethink energy accounting with cooperative game theory. Mian Dong, Tian Lan and Lin Zhong!

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

Distributed systems Lecture 4: Clock synchronisation; logical clocks. Dr Robert N. M. Watson

PC Based Precision Timing Without GPS

Programming Spatial Computers. Jonathan Bachrach & Jacob Beal October, 2006

I/O Devices. Device. Lecture Notes Week 8

Code Generation for GPU Accelerators in the Domain of Image Preprocessing

Digital Stored Grain Quality Management. BinMaster Level Controls Lincoln, Nebraska, USA

What Causes the Seasons?

Analyst Software. Automatic Optimization Tutorial

ESARAD Status. Status Overall. Current version s features Next version s features Next development work. October 2005.

Thank you for your interest in the Support Resistance Strength Analyzer!

NovaToast SmartVision Project Requirements

A Control Flow Integrity Based Trust Model. Ge Zhu Akhilesh Tyagi Iowa State University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

WEATHER MULTI-SENSOR. Vaisala Weather Transmitter WXT510. Change the Way You Measure Weather

CM 3310 Process Control, Spring Lecture 21

Time. To do. q Physical clocks q Logical clocks

13 Concurrent Programming using Tasks and Services

THERMAL ANALYSIS AND OPTIMIZATION OF THERMAL PAD THICKNESS FOR TRANSISTOR MOUNTING IN FOR CPU S

LTM - LandScape Terrain Modeller

ASSESSMENT. Industry Solutions Harness the Power of GIS for Property Assessment

Real Time Operating Systems

DEPFET sensors development for the Pixel Detector of BELLE II

Computer Architecture

VMware VMmark V1.1 Results

Approximating Outside the Processor. Phillip Stanley-Marbell and Martin Rinard R ke. WAX 15, co-located with PLDI 15, 13th June 2015

Simple Instruction-Pipelining (cont.) Pipelining Jumps

NC DWQ Stormwater Permitting Interactive Map

Administrative notes. Computational Thinking ct.cs.ubc.ca

Continental Divide National Scenic Trail GIS Program

BigBOSS Data Reduction Software

What Causes the Seasons?

NEW! PCR next to me. Eppendorf Mastercycler nexus: combine, connect, control

Cat Electronic Technician 2014A v1.0 Product Status Report 10/23/2016 9:09 AM

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Latches. October 13, 2003 Latches 1

An introduction to flash memory in Linux

21 Yes, in LFP between ldd y and stx y. A) accuracy. J) desk check. D) bandwidth. E (partial credit B) D. P) latency. U) polled interrupt W) private

LOW COST SINGLE TRIP POINT TEMPERATURE SENSOR

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Who Has Heard of This Problem? Courtesy: Jeremy Kun

14.1. Unit 14. State Machine Design

Real Time Operating Systems

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

Designing Information Devices and Systems I Spring 2018 Homework 5

Real-Time Scheduling and Resource Management

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

Challenges and Issues for Regional Geoportal on Disaster Data Sharing - from Perspective of China

CTC 155 / 350 / 660 Dry-block calibrator

KN Series Boiler HeatNet V3 LonWorks Network Variables V1.10

Weather Research and Forecasting (WRF) Performance Benchmark and Profiling. July 2012

Concept to Implementation. Cases studies

Data Aggregation with InfraWorks and ArcGIS for Visualization, Analysis, and Planning

! Charge Leakage/Charge Sharing. " Domino Logic Design Considerations. ! Logic Comparisons. ! Memory. " Classification. " ROM Memories.

Homework 2. Due Friday (5pm), Feb. 8, 2013

Transcription:

Jonghwa Lee assistant engineer Samsung Electronics

Contents Generic Thermal Framework Thermal zone device Cooling device Binding & Thermal instance Governors SYSFS interfaces Thermal management CPU Cooling device EXYNOS thermal driver 2

THERMAL FRAMEWORK 3

Thermal Framework Thermal zone Thermal sensor unit Cooling device Governor Fair share Step wise User SYSFS interface 4

User Interaction (sysfs, uevent) user kernel Thermal FW TMU driver Governor Cooling device Cooling device HW Sensor Sensor Fan 5

Devices in Thermal FW Thermal zone device Represents a region managed by thermal framework. Includes a thermal sensor and multiple cooling devices. 6

Thermal zone Thermal Sensor Cooling Device.0 Cooling Device.1 Governor 7

Interrupt Polling Thermal zone Thermal Sensor Cooling Device.0 Cooling Device.1 Governor 8

Thermal zone Thermal Sensor Thermal zone Thermal Sensor Governor Cooling Device.0 Cooling Device.1 Governor Cooling Device.0 Thermal zone Thermal Sensor Cooling Device.0 Governor 9

Devices in Thermal FW Cooling devices Actual functional units for cooling down the thermal zone. Can be hardware devices and also be software method. Hardware : Fans, various physical cooler Software : CPU frequency control 10

Binding Thermal zone devices and cooling devices will work after proper binding. Binding happens when any of thermal devices is newly registered. As a succeed result of binding, thermal instance would be created. 11

Binding Thermal instance Describes how cooling devices work at certain trip point in the thermal zone. Created at binding time of thermal zone devices and cooing devices. Added to thermal devices own thermal instances list. Governor handles the thermal instance not thermal devices. 12

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_cdev_list cooling_dev.0 cooling_dev.1 cooling_dev.2. 13

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_zone_dev.2 thermal_cdev_list cooling_dev.0 cooling_dev.1 cooling_dev.2. Newly thermal zone device is registered. After attaching to the list, it seeks cooling devices which can be bound to it. 14

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_zone_dev.2 bind_tz() thermal_cdev_list cooling_dev.0 cooling_dev.1 cooling_dev.2. Newly thermal zone device is registered. After attaching to the list, it seeks cooling devices which can be bound to it. 15

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_zone_dev.2 thermal_cdev_list cooling_dev.0 cooling_dev.1 cooling_dev.2. Binding can be done with - platform data s matching function (.match( ) ) - driver s binding function (.bind( ) ) 16

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_zone_dev.2 thermal_cdev_list cooling_dev.0 cooling_dev.1 cooling_dev.2. thermal_instance After succeed binding, thermal instance will be created. 17

Binding thermal_tz_list thermal_zone_dev.0 thermal_zone_dev.1 thermal_zone_dev.2 thermal_instance_list thermal_cdev_list cooling_dev.0 cooling_dev.1 thermal_instance_list thermal_instance Lastly, it adds thermal instance to related device s list It is almost same when cooling device is registered. 18

Governors Determines cooling policy. Currently, three candidates exist. USER_SPACE FAIR_SHARE STEP_WISE Can be varied for each thermal zone. 19

Governors Step wise governor Sets cooling state based on thermal trend. ( STABLE, RAISING, DROPPING, RASING_FULL, DROPPING_FULL ) Allows only one step change for increasing or decreasing at decision time. 20

Governors Fair share governor Sets cooling state according to its efficiency and potential ability and also current state. Gives the higher cooing state to more weighted device. 21

SYSFS interface Nodes under /sys/class/thermal/thermal_zone Get basic information (name, enabling, cooling devices) Manage how to work (set governor, trip temperature, passive, hysteresis, emulation) Monitor current state Nodes under /sys/class/thermal/cooling_device Get basic information (name) Set/get cooling state 22

THERMAL MANAGEMENT 23

Thermal management Thermal management starts with updating thermal zone. thermal_zone_device_update(). Possible factors for updating thermal zone. Polling Interrupt Passive 24

Start reset poling thermal_zone_update() governor->throttle() ACTIVE & PASSIVE temperature > HOT trip point? yes no.notify()? no trip_type == CRITICAL? no yes yes Make notify call /* Hibernation */ Shutdown HOT & CRITICAL 25

Thermal management CPU cooling device Controls CPU frequency according to cooling state. Higher cooling state, lower frequency. Limits the maximum CPU frequency with updating CPUFREQ policy. (Indirect) 26

Start Notify policy is updating max_freq = get_cpu_freq(cooling_state) update_cpufreq_policy() CPUFREQ Framework policy.max = max_freq Call cpufreq governor to update limits End 27

EXYNOS s thermal driver EXYNOS TMU(thermal management unit) Features HW interrupt (Falling/Raising) Trip point (hardware) Temperature history (currently not using) Trimming Emulation 28

EXYNOS s thermal driver Trimming Trimming value is runtime value supported by HW. (TRIMINFO register) Sensor s value can be calibrated with. (noise compensation) T_ERROR = TRIM - 25 T( ) = sensor_t (T_ERROR) 29

EXYNOS s thermal driver Emulation For test purpose, EXYNOS TMU supports hardware emulation mode. Emulation temperature can be set with sysfs node, emul_temp. Hardware interrupt also works in emulation mode. 30

EXYNOS s thermal driver Cooling device Currently exynos_thermal driver uses CPU cooling device only. When create CPU cooling device, it sets 0 for CPU mask. (Core 0) At binding time, it creates multiple thermal instances based on number of ACTIVE trips. 31

EXYNOS s thermal driver Thermal Instance #1 Thermal Instance #2 800Mhz for Trip1 Thermal zone 200Mhz for Trip2 Trip 1 T( ) : 85 Trip 2 T( ) : 103 Trip 3 T( ) : 110 Thermal Sensor Cooling Device CPU cooing Governor default governor 32

Thermal management in TIZEN Up to TIZEN 2.0, it doesn t support generic thermal framework. It supports same functionality with private platform driver. Generic thermal framework will be supported from 3.0. 33

To do Thermal FW is isolated. No available APIs to get thermal data. Hard to know current thermal state. Solution can be one of followings, Introducing APIs to get thermal data. Implementing notification method. Allowing to add own thermal handler. 34

In progress To open thermal data is now attempting. [Patch] : Get thermal zone device by name To separate sensor from thermal zone as a new thermal device. It ll enable, multiple sensors in one thermal zone. more intuitive binding of thermal zone units. 35

Q & A 36