SSG-OTC Presentation Template Contents · Embedded Linux and the mainline kernel David Woodhouse...

Preview:

Citation preview

Software and Services Group

Embedded Linux and the mainline kernelDavid Woodhouse

CELF Embedded Linux Conference

April 2009

2

Software and Services Group 2

Ubiquitous Linux

Embedded control device... phone... PDA... Internet tablet... router...media device... netbook... laptop... desktop... server... supercomputer...

3

Software and Services Group 3

“Embedded”...?

Portable Media Players

Phones

PDAs

“Internet Tablets”

Routers

Televisions

VCR / PVR / DVD / Media

Netbooks (?)

4

Software and Services Group 4

“Embedded”...?

Headless?

Handheld?

Power source?

Physical size?

Limited RAM?

Storage?

Other...

5

Software and Services Group 5

Embedded needs

Power management

Fast startup

Headless operation

Uncluttered user interfaces

Solid state storage

6

Software and Services Group 6

Embedded needs

Power management

Fast startup

Headless operation

Uncluttered user interfaces

Solid state storage

Other users need these features too!

7

Software and Services Group 7

Power Management

Battery life

8

Software and Services Group 8

Power Management

Battery life

Cost of power consumption

Heat output

9

Software and Services Group 9

Tickless operation

Power savings

10

Software and Services Group 10

Tickless operation

Power savings

Scalability for virtualisation

11

Software and Services Group 11

Fast boot

Hard limits for mobile telephones

User experience for consumer electronics

12

Software and Services Group 12

Fast boot

Hard limits for mobile telephones

User experience for consumer electronics

Server availability

13

Software and Services Group 13

User interfaces

Ease of use for consumer equipment

14

Software and Services Group 14

User interfaces

Ease of use for consumer equipment

... and for everyone else:OLPC / Sugar

Netbooks

Simple desktop environments

15

Software and Services Group 15

Solid state storage

FLASH storage in “embedded” devices

16

Software and Services Group 16

Solid state storage

FLASH storage in “embedded” devices

Solid State Disk

17

Software and Services Group 17

Others...

Execute in place (XIP)From FLASH for embedded systems

Shared file system data under virtualisation

DMA API usageFor cache coherency on embedded systems (ARM, some PPC)

For IOMMU on larger systems

18

Software and Services Group 18

We are not so special!

19

Software and Services Group 19

Community impressions

“Enterprise” Linux

“Embedded” Linux

20

Software and Services Group 20

Community impressions

“Enterprise” Linux

“Embedded” LinuxWorking with old code

Not working with upstream

Inclined towards “special” one-off hacks

Irrelevant to the general case

21

Software and Services Group 21

Community impressions

“Enterprise” Linux

“Embedded” LinuxWorking with old code

Not working with upstream

Inclined towards “special” one-off hacks

Irrelevant to the general case

We must prove them wrong!

22

Software and Services Group 22

“Embedded” success stories

Tickless

Preemptive kernel

Power management

Suspend to RAM

Solid state storage

Squashfs

23

Software and Services Group 23

Working with the community

Find generic points of interest

Publish early and oftenIn git trees

Separate trees for separate development efforts

Also send patches for review

Solicit and respond to feedback

Work with upstream maintainers

BE PART OF THE COMMUNITY!

24

Software and Services Group 24

Staying close to upstream

AdvantagesEasier for product updates and new products

Easy to use fixes and new features

External contributions

Code review and testing

CostsWriting acceptable code can be hard and takes time

Upstream kernel is a fast-moving target

Releasing information may be difficult

25

Software and Services Group 25

Tips on contributing code

Find parallel requirements

Avoid “hacking around” problems

Avoid overengineering

Care about locking

Coding Style

Submit patches carefully

26

Software and Services Group 26

What's next for “Embedded” Linux?

Solid state storageMore work on SSDs

Flash file system development (UBI, logfs, btrfs)

Better power management

More real time development

What do you need?

27

Software and Services Group 27

Questions?

Recommended