Post Job Free
Sign in

Process Driver

Location:
United States
Posted:
February 10, 2013

Contact this candidate

Resume:

Faster Resume For Energy

Savings

Savings on MeeGo

Yoshiya Hirase (*******.******@*****.***)

April 13, 2011

Agenda

Goal

Approach

Resume time optimizations

Movie 1

Early-screenshot for better user experience

Movie 2

Summary

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

2/17

Goal

Introduce hibernation to handset devices for more energy saving

[use-cases]

Turn off to maximize battery life while meeting, sleeping, etc

Start using instantly when out of the package

Keep using simple phone mode even under battery emergency

Recover application context after battery run out

Enable more power-off time

Three seconds for fast resume

Platform and application independent

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

3/17

Approach

Use TuxOnIce for hibernation

Make resume faster

Speed up boot sequence

Minimize snapshot image size

Implement as generic as possible

Resume process

Linux kernel start-up Restore system context

Bootloader

Time

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

4/17

Resume Process Breakdown

4.0% 2.2%

17.2%

0.6% 75.1%

0.9%

Nolo start-up

Linux kernel start-

TuxOnIce

up

Time

Boot loader

Snapshot image size: 23MB (70 % compression)

Platform: N900 (256MB SDRAM)

Snapshot image compression: LZO

Processor: TI OMAP 3430: ARM Cortex-A8 600 MHz

Boot device: eMMC mass storage

Linux kernel: 2.6.35 (MeeGO for N900) + patch sets

Resume time: about 10 seconds

- Suspend-To-Disk for ARM

- TuxOnIce for 2.6.35 kernel

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

5 /17

Shrink Snapshot Image Size

Page out as many pages as possible before suspend process starts

Take advantage of asymmetric aspect in user experience

Resume time is more important for user rather than suspend time

Restored with usual page-in mechanism after resume

Pros

Resume time not proportional to the number of running applications

Cons

Slower suspend process

Application responses might degrade after resume

Removing unnecessary memory area

Kernel text, data

DSPBridge buffer

Framebuffer data

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

6/17

How to shrink snapshot image

Reclaim pages in suspend process as much as possible

Modify mm/vmscan.c in order to reclaim pages aggressively

Execute shrink_all_memory repeatedly certain times

Remove kernel text & data: 4 MB (MeeGo 1.1 for N900, Linux 2.6.35)

Reload in kernel boot-up

Remove a reserved region by DSPBridge: 6 MB

Unload before suspend and load after resume

Reserved even when the driver is unloaded

Remove framebuffer area: 16 MB

Redraw after resume

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

7/17

Improve device initialization

Remove omap-mcbsp driver initialization from boot process

Compile as a module with CONFIG_SND_SOC=m

Device initialization time: about 1.4 seconds

Driver Description Device

initialization time

omap_dss Display 12.26%

Serial Serial (UART) 43.93%

onenand NAND flash 18.48%

Offloaded

omap-mcbsp-dai Serial sound I/F 16.37%

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

8/17

Improve device restore

WLAN restore is more than half of Restore System Activities

332 devices are restored during resume operation

Restore System Activities: about 1.5 seconds

Device Description Time

phy0 Physical layer for 802.11 55% Offloaded

omapdss Display 6%

FasterResumeForMoreEnergySavings_ELC _v05Final.ppt/ 2011-04-13 / Yoshiya Hirase

9/17

Improve Memory Transfer

Allocate swap space in NAND flash

Faster access than eMMC

eMMC:

NAND flash:



Contact this candidate