maintainer's diary: we have a scaling problem

24
. . Maintainer’s Diary: We have a scaling problem Wolfram Sang Consultant Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 1 / 24

Upload: others

Post on 08-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

.

...... Maintainer’s Diary: We have a scaling problem

Wolfram Sang

Consultant

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 1 / 24

Statistics: # of patches

0

2000

4000

6000

8000

10000

12000

14000

3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

NumPatches

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 2 / 24

Statistics: # of people

0

200

400

600

800

1000

1200

1400

3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

NumAuthorsNumCommitters

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 3 / 24

Statistics: increase of people

0

200

400

600

800

1000

1200

1400

3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

NumAuthorsNumCommitters

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 4 / 24

Additional info

Stats only based on accepted patchesThere are also superseded, rejected patches, teaching new authors…

Situation at v3.0 was already far from ideal

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 5 / 24

Can we offload tasks?

.What is a maintainer? Trond Myklebust said it nicely1:..

......

”Currently, the Linux maintainer appears to be responsible for filling all ofthe traditional roles of

software architectsoftware developerpatch reviewerpatch committerand software maintainer.”

1link hereWolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 6 / 24

First thing to notice

Yes, this is a rare bunch!2

2but they usually have fun doing that :)Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 7 / 24

Statistics: # of people (with supporters)

0

200

400

600

800

1000

1200

1400

3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

NumAuthorsNumCommitters

DiffTestsDiffRevs

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 8 / 24

Statistics: increase of people (with supporters)

0

200

400

600

800

1000

1200

1400

3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

NumAuthorsNumCommitters

DiffTestsDiffRevs

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 9 / 24

A typical (simple) SoC

System ControllerAdvanced Int. Ctrl.

Power Mgt. Ctrl.

PLL

Osc

RC Osc

Reset Ctrl.

Brownout Detect

Power On Reset

Prog. Int. Timer

Watchdog Timer

Real Time Timer

Debug Unit

PID Ctrl.

JTAGScan

VoltageRegulator

PeripheralBridge

Mem

ory

Con

trol

ler EBI

SRAM

Flash

FlashProgrammer

PeripheralData Controller

Application-SpecificLogic

CAN

USB

PWM

SD/MMC

Framebuffer/DisplayADC

I2C / TWI

SPI

UART

Ethernet

PIO

ARMProcessor

PIO

PIO

AP

BA

SB

/A

HB

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 10 / 24

Statistics: Subsystem Latency

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 28 56 84 112 140 168

net/ethernet (5143 commits)

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 11 / 24

Statistics: Subsystem Latency

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 28 56 84 112 140 168

mtd (1301 commits)

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 12 / 24

Statistics: Subsystem Latency

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 28 56 84 112 140 168

i2c (621 commits)

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 13 / 24

Statistics: Subsystem Latency

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 28 56 84 112 140 168

i2c (621 commits)watchdog (326 commits)

net/ethernet (5143 commits)gpio (705 commits)

mtd (1301 commits)mmc (1125 commits)

dma (798 commits)video (1991 commits)

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 14 / 24

Statistics: Subsystem Latency

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 7 14 21 28

i2c (621 commits)watchdog (326 commits)

net/ethernet (5143 commits)gpio (705 commits)

mtd (1301 commits)mmc (1125 commits)

dma (798 commits)video (1991 commits)

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 15 / 24

Additional info

Again: Stats only based on accepted patches

There are also totally valid patches which got lostCouldn’t find a way to measure that, though

Weather forecast: Situation will get worseExpect either increased latency or questionable patches coming in

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 16 / 24

What you can do: Users3

.Give feedback..

......

give comments about patchesgive tags (Tested-by:)

.resend overlooked patches..

......

only if you still use and need themcheck if there are open issuesresend

3as in ”users of patches”Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 17 / 24

What you can do: Developers

.Always give your best shot..

......

missing experience is no problemsloppiness is a problembe honest, give reasons for suboptimal solutions

.take part in Q&A..

......

reviewreview your own patchesdiscussclean up, consolidateif you are interested, become a maintainer

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 18 / 24

What you can do: Maintainers

.Work harder…not!..

......

we don’t need burnoutbe aware of the fast-forward button

.have your tools ready..

......

yeah, workflow is highly subjective……still check with other maintainers what is out thereMy top three recommendations

keyboard shortcutsgit hookspatchworkdid you know it collects tags for you?

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 19 / 24

What you can do: Maintainers

.automize tasks..

......

really pay atterntion to boring, repititive taskshave I mentioned proper tools?

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 20 / 24

What you can do: Organizations

.allow developers to take part in Q&A..

......

some really want to if allowedthose will improve their skills a lot

.educate internally..

......

OK to ask maintainer for subsystem specific helpnot OK to let maintainers teach basic stuffif I know you have people inhouse which can do the same

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 21 / 24

What you can do: Organizations

.be aware that things might take time..

......we are trying to be fast, yet there is overload

.see maintaining as a job on its own..

......

worth being paid for, directly or indirectlyindependent maintainers are best, see Linus or Gregalthough with enough credit, it will work, too

probably the item to improve the situation

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 22 / 24

Paid/supported maintainers

System ControllerAdvanced Int. Ctrl.

Power Mgt. Ctrl.

PLL

Osc

RC Osc

Reset Ctrl.

Brownout Detect

Power On Reset

Prog. Int. Timer

Watchdog Timer

Real Time Clock

Debug Unit

PID Ctrl.

JTAGScan

VoltageRegulator

PeripheralBridge

Mem

ory

Con

trol

ler EBI

SRAM

Flash

FlashProgrammer

PeripheralData Controller

Application-SpecificLogic

CAN

USB

PWM

SD/MMC

Framebuffer/DisplayADC

I2C / TWI

SPI

UART

Ethernet

PIO

ARMProcessor

PIO

PIO

AP

BA

SB

/A

HB

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 23 / 24

Thank you for your attention!

Let’s go for it!.Questions?..

......

Right here, right now…Later at the [email protected]

Wolfram Sang (Consultant) We have a scaling problem 24.10.2013, ELC-E 2013 24 / 24