+ All Categories
Home > Documents > Jonathan Corbet LWN.net [email protected]/images/pdf/google-class/01-kreport.pdf · MontaVista 1%...

Jonathan Corbet LWN.net [email protected]/images/pdf/google-class/01-kreport.pdf · MontaVista 1%...

Date post: 01-Sep-2018
Category:
Upload: hoangkhanh
View: 216 times
Download: 0 times
Share this document with a friend
62
The kernel report Jonathan Corbet LWN.net [email protected]
Transcript
Page 1: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

The kernel report

Jonathan CorbetLWN.net

[email protected]

Page 2: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

What we'll talk about

1) Process - releases and such (how we got to where we are)

2) Features and futures (Cool stuff and what it's good for)

Page 3: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Cadence

The 2.6.34 cycle began February 25, 2010

Since then:Four releases have been made (another almost ready)49,079 changesets have been merged ...from 2,826 developers, 326 employers1.3 million lines of code have been added

Page 4: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

The process is working smoothly

Page 5: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Who supports this work

Volunteers 17.6%Red Hat 11.7%unknown 7.7%Intel 6.7%Novell 4.8%IBM 3.7%Nokia 2.3%Consultants 2.2%Texas Inst. 2.2%Oracle 1.7%AMD 1.6%

Samsung 1.5%academics 1.4%Fujitsu 1.4%Renesas Tech. 1.4%Pengutronix 1.3%Google 1.2%Broadcom 1.1%Atheros 1.1%Analog Devices 1.1%Wolfson Micro 1.0%New Dream Net 1.0%

Page 6: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

The 2.6.21 version

Unknown 27%Red Hat 14%IBM 8%Novell 7%Linux Found. 5%Hobbyists 5%Intel 4%Oracle 2%Google 2%

SGI 2%MIPS Tech. 1%HP 1%Consultants 1%Nokia 1%Astaro 1%MontaVista 1%Linux Networx 1%Qlogic 1%

Page 7: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real
Page 8: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Who supports this work

Volunteers 17.6%Red Hat 11.7%unknown 7.7%Intel 6.7%Novell 4.8%IBM 3.7%Nokia 2.3%Consultants 2.2%Texas Inst. 2.2%Oracle 1.7%AMD 1.6%

Samsung 1.5%academics 1.4%Fujitsu 1.4%Renesas Tech. 1.4%Pengutronix 1.3%Google 1.2%Broadcom 1.1%Atheros 1.1%Analog Devices 1.1%Wolfson Micro 1.0%New Dream Net 1.0%

Page 9: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.34

May 15, 2010 (9,443 changes, 1,151 developers)

Asynchronous suspend/resumeperf lock, perf Python scripting supportLogFSCeph distributed filesystem

Page 10: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.35

Aug. 1, 2010 (9,801 changes, 1,188 developers)

perf kvmReceive packet/flow steeringMemory compactionIdle pattern detectionRAMoopsBtrfs direct I/O support

Page 11: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.36

Oct. 20, 2010 (9,501 changes, 1,176 developers)

AppArmor security moduleWakeup countsLIRC infrared driversNew OOM killerfanotifyConcurrency-managed workqueues

Page 12: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.37

Jan 4, 2011 (11,446 changes, 1,276 developers)

VFS scalability work (inode_lock removal)GFS2 is no longer “experimental”Block I/O bandwidth controllerPPTP supportBasic pNFS supportHugepage migrationWakeup sourcesBlock layer barrier work

Page 13: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.38

Mar. ??, 2011 (8,888 changes, 1,111 developers) (so far)

Per-session group schedulingDcache scalability workTransmit packet steeringBatch discardTransparent hugepagesMultitouch panel supportSCSI target subsystemBtrfs: read-only snapshots and LZO compression

You are here

Page 14: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Stable updates

Mainline release is not the end of the story

Stable/longterm updates for:Serious bug fixesSimple hardware support (PCI IDs)Occasional backports

Page 15: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Currently-maintained stable kernels

2.6.27Long term, deep freeze mode

2.6.32Base of a number of “enterprise” distributions

2.6.35Embedded “flag version”

2.6.362.6.37

Recent mainline releases

Page 16: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Currently-maintained stable kernels

2.6.27Long term, deep freeze mode

2.6.32Base of a number of “enterprise” distributions

2.6.35Embedded “flag version”

2.6.362.6.37

Recent mainline releases

Page 17: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Currently-maintained stable kernels

2.6.27Long term, deep freeze mode

2.6.32Base of a number of “enterprise” distributions

2.6.35Embedded “flag version”

2.6.362.6.37

Recent mainline releases

Page 18: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

What's coming?

Page 19: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

2.6.39

(Merge window is still open)

O_PATH opensOpen by file handleCLOCK_BOOTTIME...

Page 20: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

A new version numbering scheme?

No.

Page 21: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

A new version numbering scheme?

No.

(At least, not until we hit 2.6.42)

Page 22: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Hardware support and vendor participation

Page 23: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Good news: Broadcom releases an open driver

Qualcomm joins the Linux Foundation

Ralink starts submitting patches

Embedded flag kernel

Page 24: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

On the other hand:

Embedded graphics remains a problem

GPL compliance is spotty

Page 25: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Power management

CPU power management works very well

Now working on memory,peripherals

Page 26: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Power management

Android code still not merged.

We do have an alternative:Wakeup sources (2.6.36)Wakeup counters (2.6.37)Currently unused

Page 27: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Power domains

Server or desktop PM is relatively simple

Newer systems less so

Page 28: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real
Page 29: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Dealing with complexity

Power domainsMap power relationships on each systemUsed to make power management decisions2.6.39 (maybe)

Media controller subsystemHandle connections between media processors2.6.39 (probably)

Page 30: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Other things to watch for

ARM PAE support>4GB in your pocket2.6.39 maybe

Device tree support...over time

Vast numbers of new drivers...as always

Page 31: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Solid-state devices

Page 32: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Solid-state devices

Page 33: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

SSD challenges

Optimizing I/O patternsTransfer sizes and alignment

Block I/O subsystem scalability100 I/O operations/second -> 100,000+ IOPS

Communication with the deviceTRIM/DISCARD operations

Page 34: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

What will we do with that much fast memory?

Page 35: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

SCSI targets

Linux as a SCSI device

Useful for storage arrays and such

Replaces STGT

Two choices:LIO (now in-tree)SCST (out-of-tree)

Page 36: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Dentry scalability

A directory entry (dentry) represents a name in the filesystem.

Page 37: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

The dentry scalability patches

Remove dcache_lockUse RCU for walking the dentry tree

Result: lockless file name lookup

Page 38: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Filesystems

Ext4 Ready for production use

Ongoing scalability work

Occasional bug fixes

Ext2/ext3 code removal?

Page 39: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Filesystems

Btrfs Almost there

Needs a filesystem checker

Remaining featuresDeduplicationRAID 4/5 support

Beginning deploymentDefault MeeGo filesystemDefault for Fedora 16?

Page 40: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Filesystems

Others yaffs2Fast embedded filesystem2.6.39?

xfsContinued evolution

GFS2 no longer experimentalMerge with OCFS2?

Page 41: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Transparent huge pages

Linux uses 4096-byte pages (most arch's)

Page 42: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Transparent huge pages

The processor can deal with larger sizes

2MB is common

Page 43: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Virtual address translations

Address translation is complicated

Page 44: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

The translation lookaside buffer

Caches address mappings-> Avoids that whole lookup process

The TLB tends to be smallOn this laptop: 128 instruction, 256 data

One 2M huge page saves 511 TLB entries!(If all internal pages are used)

Thus: huge pages make the system go faster

Page 45: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Transparent huge pages

Linux has had hugetlbfs for yearsFiddly, administration-heavy mechanism

THP makes huge pages “just happen”Not as fast as hugetlbfsBut it works for everybodyMerged for 2.6.38

Page 46: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Other memory management issues

WritebackOne of our biggest performance problems

Hybrid memory techniquesKSMTranscendent memory...

Page 47: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Control groups

A means for grouping related processes

Page 48: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Control groups

Are hierarchicalGroups can contain other groups

Are inheritedChildren stay in their parent's group

Are associated with controllersApply some policy to contained processes

Page 49: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Control groups

Are hierarchicalGroups can contain other groups

Are inheritedChildren stay in their parent's group

Are associated with controllersApply some policy to contained processes

Are old news...merged in 2.6.24

Page 50: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Group CPU scheduling

Page 51: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Per-session group scheduling

Group scheduling is old...but nobody was using it

Per-session group schedulingMakes it all “just work”Interactivity improvements result2.6.38

Page 52: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real
Page 53: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real
Page 54: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real
Page 55: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Other control group stuff

Expanded group schedulingSystemd/gnome-session integrationNice separation of tasksBandwidth control

Memory controllerMore focused reclaim

Block I/O controllerHierarchical group I/O schedulingAsynchronous I/O control

...

Page 56: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Deadline scheduling

Of interest to real time, media communities

Chilly reception at the 2010 kernel summitNeeds better use cases

Work continuesWe'll have it someday

Page 57: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Realtime Preemption patch set

We'll have that someday too!

Page 58: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Networking

Expand initial congestion window

2.6.39

DFS compliance2.6.40+

Ongoing issues:IPv6BufferbloatScalability Photo: Arenamontanus

Page 59: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Security

Stackable modules2.6.40+

HardeningAn area of increased focus

User namespacesUnprivileged container creation

Photo: CarbonNYC

Page 60: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Tracing and visibility

Continued ftrace and perf workEmphasis on usability and unificationAddition of tracepoints

Improved user-space tracing/debuggingSomeday

Still outside:SystemTapLTTng

Page 61: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Things not discussed

Thousands of bug fixesVirtualizationAdditional architecturesDocumentationRAS improvementsCPU isolationInterrupt layer reworkClock enhancementsMM preemptabilityRegression trackingBKL removal...

Page 62: Jonathan Corbet LWN.net corbet@lwnlwn.net/images/pdf/google-class/01-kreport.pdf · MontaVista 1% Linux Networx 1% Qlogic 1%. ... Embedded “flag version ... Of interest to real

Questions?


Recommended