Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 31 Ad

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

Download to read offline

The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang

The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

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

Advertisement

More from Anne Nicolas (20)

Recently uploaded (20)

Advertisement

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

  1. 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. 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. 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. 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. 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. 6. Bad News Insane fragmentation! :( Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 5 / 26
  7. 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. 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. 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. 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. 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. 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. 13. Group maintainership Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. Proposed solution II Kernel Infrastructure Initiative? Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 22 / 26
  27. 27. Proposed solution III Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  28. 28. Proposed solution III Maintainers on strike! :) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  29. 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. 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. 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

×