SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
From maintaining I2C to the big (embedded) picture
Wolfram Sang, Consultant / Renesas
24.09.2019, EmbeddedRecipes
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 1 / 26
Simple SoC Block Diagram
System Controller
Advanced 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.
JTAG
Scan
Voltage
Regulator
Peripheral
Bridge
MemoryController
EBI
SRAM
Flash
Flash
Programmer
Peripheral
Data Controller
Application-Specific
Logic
CAN
USB
PWM
SD/MMC
Framebuffer/DisplayADC
I2C / TWI
SPI
UART
Ethernet
PIO
ARM
Processor
PIO
PIO
APB
ASB/
AHB
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 2 / 26
I2C: its simplicity is a problem
What could go wrong?
specs didn’t change much since 1982
definately not rocket science1
drivers are (relatively) simple
So, do an IP core, dump the driver, move on…
1
yet, gory details are everywhere
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
I2C: its simplicity is a problem
What could go wrong?
specs didn’t change much since 1982
definately not rocket science1
drivers are (relatively) simple
So, do an IP core, dump the driver, move on…
I2C is a good example
a Fly-by subsystem
mostly used by embedded
largely maintained in spare time
1
yet, gory details are everywhere
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
Growth of I2C bus master drivers
0
20
40
60
80
100
120
140
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20
2011 2012 2013 2014 2015 2016 2017 2018 2018
number of files in drivers/i2c/busses
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 4 / 26
Bad News
Insane fragmentation!
:(
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 5 / 26
Good News
Message was received:
People are sending patches!
o/
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 6 / 26
More Bad News
We now have a scaling problem:
Who reviews all these patches2?
2
especially in fly-by subsystems
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 7 / 26
Number of unprocessed patches
0
50
100
150
200
250
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5
2011 2012 2013 2014 2015 2016
linux-i2c (72 commits in 4.8)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 8 / 26
1st lesson learned
There will be backlog3
3
Relax and live with it…
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 9 / 26
2nd lesson learned
Do only stuff you are personally
interested in
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 10 / 26
Not maintaining the drivers anymore
commit 95df14f7937482a2a527814061eda9b534adb7eb
Author: Wolfram Sang <wsa@the-dreams.de>
Date: Tue Apr 10 21:49:13 2018 +0200
MAINTAINERS: remove me as maintainer for I2C host drivers
The number of I2C host controller drivers keeps increasing, and although
I had some success acquiring specific driver maintainers, my bandwidth
is by far not enough to act as a fallback for the rest of the drivers.
...
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 11 / 26
Group maintainership
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Group maintainership
Which group???happy it works for DRM, but difficult for fly-bys
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Group maintainership
Which group???happy it works for DRM, but difficult for fly-bys
Still, thanks a ton to the I2C mux and I2C ACPI submaintainers!
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Not that I tried…
From: Wolfram Sang <wsa@the-dreams.de>
Subject: I2C delay due to maintainer illness
sadly, I have been tied to bed for a few days now, not in a condition to
really work on I2C...
I think it is annoying, sure, but no catastrophe. However, it shows that
I am the single-point-of-failure for I2C patches, what I don't like.
Like I said before, I am open to group maintainership. If you think you
are a reliable candidate, please get in touch with me.
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
Not that I tried…
From: Wolfram Sang <wsa@the-dreams.de>
Subject: I2C delay due to maintainer illness
sadly, I have been tied to bed for a few days now, not in a condition to
really work on I2C...
I think it is annoying, sure, but no catastrophe. However, it shows that
I am the single-point-of-failure for I2C patches, what I don't like.
Like I said before, I am open to group maintainership. If you think you
are a reliable candidate, please get in touch with me.
“Get well soon!”
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
3rd lesson learned
Divide & conquer
(to the extreme4)
4
i.e. to the driver level
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 14 / 26
Problem: new drivers
From: Khalil Blaiech <kblaiech@mellanox.com>
Subject: [PATCH v5 1/2] i2c: i2c-mlx: I2C SMBus driver for Mellanox BlueField
Added BlueField I2C driver to offer master and slave support for
Mellanox BlueField SoCs. The driver implements an SMBus adapter
and interfaces to multiple busses that can be probed using both
ACPI and Device Tree infrastructures.
Signed-off-by: Khalil Blaiech <kblaiech@mellanox.com>
---
drivers/i2c/busses/Kconfig | 13 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-mlx.c | 2513 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 2527 insertions(+)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 15 / 26
4th lesson learned
Let escalateI don’t like it, but I don’t scale
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 16 / 26
See the plateaus?
0
20
40
60
80
100
120
140
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20
2011 2012 2013 2014 2015 2016 2017 2018 2018
number of files in drivers/i2c/busses
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 17 / 26
Something to get rid off
This picture5
is still around
“The overall picture … is one of a development process that continues to
function like a relatively well-tuned machine. The number of contributors
continues to increase, the patch flow is steady, and there do not appear to
be many process-scalability issues in sight.”
Disclaimer: LWN’s opinion has changed meanwhile to the best of my
knowledge.
5
LWN on May 11th, 2016
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 18 / 26
News from Linux Plumbers
Dmitry Vyukov gave a talk at LPC.
It sparked some discussions
tooling
workflow
documentation
All nice but…
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 19 / 26
For my situation: tip of the iceberg
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 20 / 26
Proposed solution I
Send out the new message
Next level reached
Old message arrived: Submit patches
New message: Take part in QA6
6
review other patches and maintain core code
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 21 / 26
Proposed solution II
Kernel Infrastructure Initiative?
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 22 / 26
Proposed solution III
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
Proposed solution III
Maintainers on strike!
:)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
Disclaimer
My bias
embedded
fly-by
(mostly) voluntary
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 24 / 26
The End
Questions? Comments?
Questions?
Right here, right now…
At the conference
wsa@the-dreams.de
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 25 / 26
References
ArmSoC diagram from my previous talk “Maintainer’s Diary: We
have a scaling problem” at ELC Europe 2013 in Edinburgh (based on
this version from Wikimedia (by Cburnett))
Iceberg picture from Wikimedia (by Uwe Kils and Wiska Bodo)
List of unprocessed patches in I2C from my previous talk “I Still Think
We Have a Scaling Problem” at LinuxCon Europe 2016 in Berlin
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 26 / 26

Contenu connexe

Tendances

LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
Linaro
 

Tendances (20)

Kernel Recipes 2013 - Overview display in the Linux kernel
Kernel Recipes 2013 - Overview display in the Linux kernelKernel Recipes 2013 - Overview display in the Linux kernel
Kernel Recipes 2013 - Overview display in the Linux kernel
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
Andes andes clarity for risc-v vector processor
Andes andes clarity for risc-v vector processorAndes andes clarity for risc-v vector processor
Andes andes clarity for risc-v vector processor
 
RISC-V Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
 
Closing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzingClosing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzing
 
SemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable CoresSemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable Cores
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Tech talk with lampro mellon an open source solution for accelerating verific...
Tech talk with lampro mellon an open source solution for accelerating verific...Tech talk with lampro mellon an open source solution for accelerating verific...
Tech talk with lampro mellon an open source solution for accelerating verific...
 
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor Family
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
 
Semi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresSemi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V cores
 
Andes RISC-V processor solutions
Andes RISC-V processor solutionsAndes RISC-V processor solutions
Andes RISC-V processor solutions
 
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilKernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
 
System Design on Zynq using SDSoC
System Design on Zynq using SDSoCSystem Design on Zynq using SDSoC
System Design on Zynq using SDSoC
 
LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201
 
LAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development Lifecycle
 
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverterKernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
 
Andes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dvAndes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dv
 
Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...
Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...
Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...
 

Similaire à Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture

OpenMP-OpenACC-Offload-Cauldron2022-1.pdf
OpenMP-OpenACC-Offload-Cauldron2022-1.pdfOpenMP-OpenACC-Offload-Cauldron2022-1.pdf
OpenMP-OpenACC-Offload-Cauldron2022-1.pdf
ssuser866937
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Roberto Casadei
 
AdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4ReportAdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4Report
Adam Carroll
 

Similaire à Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture (20)

Slides - Day 10.pdf
Slides - Day 10.pdfSlides - Day 10.pdf
Slides - Day 10.pdf
 
OpenMP-OpenACC-Offload-Cauldron2022-1.pdf
OpenMP-OpenACC-Offload-Cauldron2022-1.pdfOpenMP-OpenACC-Offload-Cauldron2022-1.pdf
OpenMP-OpenACC-Offload-Cauldron2022-1.pdf
 
Design Guide on USB-C PD Charge-Through Feature with Data Role Swap - Welcome...
Design Guide on USB-C PD Charge-Through Feature with Data Role Swap - Welcome...Design Guide on USB-C PD Charge-Through Feature with Data Role Swap - Welcome...
Design Guide on USB-C PD Charge-Through Feature with Data Role Swap - Welcome...
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 
IRJET- Survey on Nodemcu and Raspberry Pi: IoT
IRJET- Survey on Nodemcu and Raspberry Pi: IoTIRJET- Survey on Nodemcu and Raspberry Pi: IoT
IRJET- Survey on Nodemcu and Raspberry Pi: IoT
 
Documentation
DocumentationDocumentation
Documentation
 
UDP Report
UDP ReportUDP Report
UDP Report
 
Vbrownbag container networking for real workloads
Vbrownbag container networking for real workloadsVbrownbag container networking for real workloads
Vbrownbag container networking for real workloads
 
PVS-Studio 7.25 release
PVS-Studio 7.25 releasePVS-Studio 7.25 release
PVS-Studio 7.25 release
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate Perspective
 
Meetup_adessoCamunda_2023-09-13_Part1&2_en.pdf
Meetup_adessoCamunda_2023-09-13_Part1&2_en.pdfMeetup_adessoCamunda_2023-09-13_Part1&2_en.pdf
Meetup_adessoCamunda_2023-09-13_Part1&2_en.pdf
 
The Top Outages of 2022: Analysis and Takeaways
The Top Outages of 2022: Analysis and TakeawaysThe Top Outages of 2022: Analysis and Takeaways
The Top Outages of 2022: Analysis and Takeaways
 
Advanced view of atmega microcontroller projects list at mega32 avr
Advanced view of atmega microcontroller projects list   at mega32 avrAdvanced view of atmega microcontroller projects list   at mega32 avr
Advanced view of atmega microcontroller projects list at mega32 avr
 
Low Cost Can Simulation - Raspberry Pi 4
Low Cost Can Simulation - Raspberry Pi 4Low Cost Can Simulation - Raspberry Pi 4
Low Cost Can Simulation - Raspberry Pi 4
 
Recap of de code 2019
Recap of de code 2019Recap of de code 2019
Recap of de code 2019
 
The Top Outages of 2022: Analysis and Takeaways
The Top Outages of 2022: Analysis and TakeawaysThe Top Outages of 2022: Analysis and Takeaways
The Top Outages of 2022: Analysis and Takeaways
 
AdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4ReportAdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4Report
 
2022 October Patch Tuesday
2022 October Patch Tuesday2022 October Patch Tuesday
2022 October Patch Tuesday
 
EMEA.23.02.23_Top_Outages_of_2022_Webinar_Slides.pptx
EMEA.23.02.23_Top_Outages_of_2022_Webinar_Slides.pptxEMEA.23.02.23_Top_Outages_of_2022_Webinar_Slides.pptx
EMEA.23.02.23_Top_Outages_of_2022_Webinar_Slides.pptx
 
Introducing the CrossLink Programmable ASSP
Introducing the CrossLink Programmable ASSPIntroducing the CrossLink Programmable ASSP
Introducing the CrossLink Programmable ASSP
 

Plus de Anne Nicolas

Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Anne Nicolas
 

Plus de Anne Nicolas (20)

Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyKernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easy
 
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
 
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsKernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doors
 
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringKernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uring
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on LinuxKernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Dernier (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture

  • 1. From maintaining I2C to the big (embedded) picture Wolfram Sang, Consultant / Renesas 24.09.2019, EmbeddedRecipes Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 1 / 26
  • 2. Simple SoC Block Diagram System Controller Advanced 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. JTAG Scan Voltage Regulator Peripheral Bridge MemoryController EBI SRAM Flash Flash Programmer Peripheral Data Controller Application-Specific Logic CAN USB PWM SD/MMC Framebuffer/DisplayADC I2C / TWI SPI UART Ethernet PIO ARM Processor PIO PIO APB ASB/ AHB Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 2 / 26
  • 3. I2C: its simplicity is a problem What could go wrong? specs didn’t change much since 1982 definately not rocket science1 drivers are (relatively) simple So, do an IP core, dump the driver, move on… 1 yet, gory details are everywhere Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
  • 4. I2C: its simplicity is a problem What could go wrong? specs didn’t change much since 1982 definately not rocket science1 drivers are (relatively) simple So, do an IP core, dump the driver, move on… I2C is a good example a Fly-by subsystem mostly used by embedded largely maintained in spare time 1 yet, gory details are everywhere Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
  • 5. Growth of I2C bus master drivers 0 20 40 60 80 100 120 140 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20 2011 2012 2013 2014 2015 2016 2017 2018 2018 number of files in drivers/i2c/busses Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 4 / 26
  • 6. Bad News Insane fragmentation! :( Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 5 / 26
  • 7. Good News Message was received: People are sending patches! o/ Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 6 / 26
  • 8. More Bad News We now have a scaling problem: Who reviews all these patches2? 2 especially in fly-by subsystems Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 7 / 26
  • 9. Number of unprocessed patches 0 50 100 150 200 250 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 2011 2012 2013 2014 2015 2016 linux-i2c (72 commits in 4.8) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 8 / 26
  • 10. 1st lesson learned There will be backlog3 3 Relax and live with it… Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 9 / 26
  • 11. 2nd lesson learned Do only stuff you are personally interested in Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 10 / 26
  • 12. Not maintaining the drivers anymore commit 95df14f7937482a2a527814061eda9b534adb7eb Author: Wolfram Sang <wsa@the-dreams.de> Date: Tue Apr 10 21:49:13 2018 +0200 MAINTAINERS: remove me as maintainer for I2C host drivers The number of I2C host controller drivers keeps increasing, and although I had some success acquiring specific driver maintainers, my bandwidth is by far not enough to act as a fallback for the rest of the drivers. ... Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 11 / 26
  • 13. Group maintainership Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 14. Group maintainership Which group???happy it works for DRM, but difficult for fly-bys Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 15. Group maintainership Which group???happy it works for DRM, but difficult for fly-bys Still, thanks a ton to the I2C mux and I2C ACPI submaintainers! Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 16. Not that I tried… From: Wolfram Sang <wsa@the-dreams.de> Subject: I2C delay due to maintainer illness sadly, I have been tied to bed for a few days now, not in a condition to really work on I2C... I think it is annoying, sure, but no catastrophe. However, it shows that I am the single-point-of-failure for I2C patches, what I don't like. Like I said before, I am open to group maintainership. If you think you are a reliable candidate, please get in touch with me. Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
  • 17. Not that I tried… From: Wolfram Sang <wsa@the-dreams.de> Subject: I2C delay due to maintainer illness sadly, I have been tied to bed for a few days now, not in a condition to really work on I2C... I think it is annoying, sure, but no catastrophe. However, it shows that I am the single-point-of-failure for I2C patches, what I don't like. Like I said before, I am open to group maintainership. If you think you are a reliable candidate, please get in touch with me. “Get well soon!” Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
  • 18. 3rd lesson learned Divide & conquer (to the extreme4) 4 i.e. to the driver level Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 14 / 26
  • 19. Problem: new drivers From: Khalil Blaiech <kblaiech@mellanox.com> Subject: [PATCH v5 1/2] i2c: i2c-mlx: I2C SMBus driver for Mellanox BlueField Added BlueField I2C driver to offer master and slave support for Mellanox BlueField SoCs. The driver implements an SMBus adapter and interfaces to multiple busses that can be probed using both ACPI and Device Tree infrastructures. Signed-off-by: Khalil Blaiech <kblaiech@mellanox.com> --- drivers/i2c/busses/Kconfig | 13 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-mlx.c | 2513 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2527 insertions(+) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 15 / 26
  • 20. 4th lesson learned Let escalateI don’t like it, but I don’t scale Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 16 / 26
  • 21. See the plateaus? 0 20 40 60 80 100 120 140 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20 2011 2012 2013 2014 2015 2016 2017 2018 2018 number of files in drivers/i2c/busses Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 17 / 26
  • 22. Something to get rid off This picture5 is still around “The overall picture … is one of a development process that continues to function like a relatively well-tuned machine. The number of contributors continues to increase, the patch flow is steady, and there do not appear to be many process-scalability issues in sight.” Disclaimer: LWN’s opinion has changed meanwhile to the best of my knowledge. 5 LWN on May 11th, 2016 Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 18 / 26
  • 23. News from Linux Plumbers Dmitry Vyukov gave a talk at LPC. It sparked some discussions tooling workflow documentation All nice but… Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 19 / 26
  • 24. For my situation: tip of the iceberg Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 20 / 26
  • 25. Proposed solution I Send out the new message Next level reached Old message arrived: Submit patches New message: Take part in QA6 6 review other patches and maintain core code Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 21 / 26
  • 26. Proposed solution II Kernel Infrastructure Initiative? Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 22 / 26
  • 27. Proposed solution III Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  • 28. Proposed solution III Maintainers on strike! :) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  • 29. Disclaimer My bias embedded fly-by (mostly) voluntary Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 24 / 26
  • 30. The End Questions? Comments? Questions? Right here, right now… At the conference wsa@the-dreams.de Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 25 / 26
  • 31. References ArmSoC diagram from my previous talk “Maintainer’s Diary: We have a scaling problem” at ELC Europe 2013 in Edinburgh (based on this version from Wikimedia (by Cburnett)) Iceberg picture from Wikimedia (by Uwe Kils and Wiska Bodo) List of unprocessed patches in I2C from my previous talk “I Still Think We Have a Scaling Problem” at LinuxCon Europe 2016 in Berlin Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 26 / 26