SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

What's hot

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 kernelAnne Nicolas
 
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 processorRISC-V International
 
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 fuzzingRISC-V International
 
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 CoresRISC-V International
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipRISC-V International
 
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 BareboxAnne Nicolas
 
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 International
 
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 FamilyRISC-V International
 
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 HellLinaro
 
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 coresRISC-V International
 
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 VerkuilAnne Nicolas
 
LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201Linaro
 
LAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLinaro
 
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 diverterAnne Nicolas
 
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-dvRISC-V International
 
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...RISC-V International
 

What's hot (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...
 

Similar to 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.pdfssuser866937
 
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...aud Scarlet
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on AndroidTetsuyuki Kobayashi
 
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: IoTIRJET Journal
 
Vbrownbag container networking for real workloads
Vbrownbag container networking for real workloadsVbrownbag container networking for real workloads
Vbrownbag container networking for real workloadsCisco DevNet
 
PVS-Studio 7.25 release
PVS-Studio 7.25 releasePVS-Studio 7.25 release
PVS-Studio 7.25 releasePVS-Studio LLC
 
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 PerspectiveRoberto Casadei
 
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.pdfMariaAlcantara50
 
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 TakeawaysThousandEyes
 
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 avrWiseNaeem
 
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 4Vivek Vijayakumar
 
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 TakeawaysThousandEyes
 
AdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4ReportAdamCarroll-X00104026-Semester4Report
AdamCarroll-X00104026-Semester4ReportAdam Carroll
 
2022 October Patch Tuesday
2022 October Patch Tuesday2022 October Patch Tuesday
2022 October Patch TuesdayIvanti
 
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.pptxThousandEyes
 
Introducing the CrossLink Programmable ASSP
Introducing the CrossLink Programmable ASSPIntroducing the CrossLink Programmable ASSP
Introducing the CrossLink Programmable ASSPLatticeSemiconductor
 

Similar to 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
 

More from Anne Nicolas

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 kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
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 futureAnne 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 dataAnne Nicolas
 
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...Anne Nicolas
 
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 SiliconAnne Nicolas
 
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 wayAnne Nicolas
 
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 matchmakerAnne Nicolas
 
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 debuggingAnne Nicolas
 
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 multimediaAnne Nicolas
 
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 startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
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)Anne Nicolas
 
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 easyAnne Nicolas
 
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!Anne Nicolas
 
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 stackAnne Nicolas
 
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 doorsAnne Nicolas
 
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_uringAnne Nicolas
 
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 kernelAnne Nicolas
 
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 LinuxAnne Nicolas
 

More from 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
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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 🔝✔️✔️Delhi Call girls
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
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-...Steffen Staab
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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 🔝✔️✔️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
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-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

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