Bangalore Kernel Meetup Nov 2023: A Report

Dear Linux Enthusiasts,
On a pleasant (and as usual very traffic-free) Saturday, we embarked on the second Linux Kernel Bangalore Meetup of the year 2023 held on the 4th of November at IBM premises at Embassy Golf Links, and boy, did it shine brightly on the radar! With the number of eager participants inching towards a hundred, this gathering brought together familiar faces and a sprinkle of new ones, promising a day of knowledge, camaraderie, networking and learning. The day commenced with a warm Welcome Note by the Aneesh Kumar K V from IBM, Linux Technology Center (LTC) who shared the agenda for the day.

With the stage set, Manivannan Sadhasivam, a Senior Linux Kernel Engineer from Linaro, who has been an open source contributor since 2016, took the spotlight as the first presenter of the day. Manivannan captivated the audience with insights into Saga of PCIe on ARM, setting the tone for the day. In his presentation, he presented PCIe in a nutshell and broke some common misconception around it, especially on ARM SoCs.

The baton(er, more appropriately the microphone) was then passed to Vasant Hegde, a Linux Engineer from AMD, who dived deep into the IOMMU world focusing on how IOMMU helps provide IO Security,
keeping the audience on the edge of their seats. He started by introducing IOMMU, where it fits in the physical address landscape, gave an overview of the IOMMU subsystem and delved into the DMA
and Interrupt remapping and finally shared the current upstream status of vIOMMU. Prompted by a questions in the audience, he also shared his experience working on IOMMU, which it will be safe to assume other developers working on IOMMU will highly resonate to.

Post these two engaging sessions, it was time to recharge our spirits with some refreshments. While coffee, tea with biscuits on the side, were on the menu, most attendees seemed to prefer savouring the
delight of reconnecting with old pals and making new connections, which is no surprise given the spirit of our Linux community.

Our journey of learning continued with Naveen N Rao, Linux engineer with IBM, Linux Technology Center(LTC); who gave an interactive session on tracing. He had a demo in place to take the audience stepwise into the journey of tracing. He graciously took on all questions from the audience in the flow of his presentation and also brought the audience up to speed with the changes in tracing tools in the most recent kernel.

Then, it was time for a slight detour as Srivatsa Bhat, a Principal Software Engineer with the Microsoft Linux Systems Group, delved into a relatively niche topic – Linux kernel Real-Time Design and Challenges
it faces with Emerging Telco/5G RT Workloads. He explained the difference in Scheduling Latency in Linux Kernel between real-time and non-real-time and gave a pretty good explanation of the OS jitters. He offered an overview that left the audience with a better understanding and also invited interested
contributors to solve challenging problems in that field of domain.

Lunch hour arrived, and we were treated to lunchboxes by IBM, a delightful trip down memory lane to our
school lunch breaks. The nostalgia added a delightful touch to our day of Linux exploration.

Post-lunch, Naresh Kamboju, a Linux Kernel Validation Expert from Linaro, took the stage for the final dedicated talk. He introduced the framework used by Linaro to improve the quality of the Linux kernel by performing functional testing. He walked the audience through the process of building and running TuxMake and TuxSuite tools for testing Linux. He encouraged the audience for an interactive session and answered the various questions asked along the run of his presentation.

The end of dedicated talks paved the way for a series of lightning talks, where speakers had just fifeteen
minutes to create sparks or thunder. Unlike the longer dedicated talks, these lightning sessions were brief
but packed a punch, each causing a curiosity stir among the attendees.

First up was the topic – KASAN, presented by author Kaiwan N Billimoria who has authored several books on Linux Kernel and System Programming. He shared insights into using ASAN and KASAN, with
primary focus on interpreting their shadow memory reports. Kaiwan certainly set the room aglow with his knowledge.

Second lightning talk was presented by Manvanthara Puttashankar, from IBM who leads the Functional Verification of Linux Kernel efforts at LTC. He presented a proposal in a whirlwind of ten minutes, switching rapidly between the perspectives of a developer and a tester, of One Test Team Approach. He stressed on the need for consensus upon “must have” sanity test for each of the kernel subsystem. He petitioned for the need of a framework which covers agreed upon tests across Linux sub-systems. His
proposal sparked interesting thoughts and debate among the audience, leaving them behind food for thought.

Following quite the engaging session was a networking break. We took a breather, connecting with our fellow attendees amidst the comforting aromas of freshly brewed coffee and tea in the cosy corridor.
Immediately after the networking break, that was long enough to fill ourselves with caffeine but not our heart with conversations, Ojaswin Mujoo, a kernel developer from IBM’s LTC, took the stage, striking with a talk on atomic writes in the Kernel and how they’ve impacted modern databases. It was like a bolt of knowledge thundering through the room.

As the event neared its end, Shrikanth Hegde from IBM (LTC) delivered the last presentation of the day on the challenges of using a bandwidth controller in SMT systems. He delved into the intricacies, introducing
bandwidth controllers and addressing two significant hurdles – the alignment of cgroups at throttled expiry and the performance implications at low utilizaNon and high concurrency in SMT systems.

As the event neared its climax, Praveen Kumar (Microsoft) and Vinod Koul (Linaro) took the reins, initiating an engaging discussion among the attendees. Spontaneous feedback from the audience was encouraged on a variety of topics such as future events, potential problems in hosting the event at a larger scale and online, ideas on increasing student participation, and the frequency of such meetups. This interactive session had a good turnout of enthusiastic participants from the audience, upholding the spirit of an open source community.
With a spirit of collaboration and learning, the event drew to a close, and the baton (this time not a
microphone, an actual figurative baton) of organizing the next meetup was taken on by Microsoft. Mark
your calendars tentatively for the end of February or the beginning of March as we look forward to another exciting rendezvous in spring of 2024!
In this blend of knowledge, camaraderie, and fruigul discussions, the Linux Kernel Meetup Bangalore
proved to be a memorable day for all Linux enthusiasts. It provided the perfect platform for Linux
aficionados to ignite their passion, sparking new ideas and leaving a lasting impact. Until next time, keep
those sparks of curiosity burning bright!
Cheers!

Bangalore Kernel Meetup July 2023: A Report

After a four-year long hiatus, the Bangalore Linux Kernel Meetup was back with a bang on 29th July 2023. The Derby at Renaissance Bengaluru Racecourse Hotel was not enough to contain the enthusiasm and energy of the kernel community of Bengaluru, which has grown tremendously in the past few years. The following is a brief account of what went down at the event.

The meetup opened with Viresh from Linaro, a veteran of the community, and a co-maintainer of the CPUFreq subsystem, discussing Rust programming language and various advantages it brings with it. With v6.1, mainline Linux has embraced Rust as a new language us hackers can use, and Viresh explained how features of Rust can help us hackers avoid making common mistakes, and prevent shooting ourselves in the foot, especially when concurrency is involved in this day where high core count machines are the norm. Key takeaway from the talk was, “If the Rust code compiles, it will work”.

Next up in line was Gautham Shenoy from AMD, another veteran of the community, who spoke about locking and synchronization. Gautham started with a brief overview of locking and why it is required, moving on to various implementations and problems associated with it. Gautham then went on to explain the elegance of the implementation of queued spin locks, which led to many “Aha!” moments from the crowd. The session ended with a discussion between audience on Lock-Holder preemption, how Queued Spinlocks contenders can suffer from a long wait time when it occurs, and how one should be judicious at selecting the right synchronization primitive for the given scenario.

The 15 minutes break that followed saw people catching up with each other after a long time, mini-Birds of Feather session with the speaker of the talks, and “Chai pe Charcha” over common interests.

People came back to an interesting talk by the duo of Prathu Baronia and Neeraj Upadhyay from Qualcomm who took us through the history and evolution of workqueues. The talk covered everything from the problems with the legacy implementation and how workers alone could exhaust the entire PID space, to how the worker pool solves these challenges, and how the interfaces are designed to allow enough flexibility to make them useful for everyone. The talk ended with a discussion on workqueue watchdogs and how the modern infrastructure can detect CPU intensive works automatically.

Next up was Ritesh Harjani from IBM Linux Technology Center (LTC), a file system ninja. Ritesh explained how introduction of large folios has helped iomap by grouping multiple blocks into a single extent, thus reducing caching overheads but, at the same time, has created new problems since now cache state is tracked at a per large folio level. Ritesh presented his changes, now stashed for v6.6, that allows the tracking individual dirty blocks in the large folio cache, thus removing the need to flush all the blocks in the entire large folio as opposed to only flushing the dirty blocks. Ritesh shared experimental data at the end which showed how the scalability bottleneck of the earlier design was all but gone, and the latest optimization can help scale ioremap to the moon.

After enjoying a hearty lunch, courtesy AMD, the gang was back to for the panel discussion. The discussion saw Prateek Nayak from AMD, trying to eke out the secrets of the community from our panelists Gautham Shenoy (AMD), Aneesh Kumar (IBM LTC), Neeraj Upadhyay (Qualcomm), and Viresh Kumar (Linaro). The discussion got these kernel veterans to reveal about themselves, their memorable and embarrassing experiences with the community, their journey from their first contributions to now being trusted reviewers and maintainers in their subsystem, and most importantly, how the community works and the need for patience from the contributor. The main takeaway at the end was Rome was not built in a day, and nor was the equally beautiful and magnificent Linux kernel.

The final presentation of the day was by Dhruva Gole from Texas Instruments (TI) on wake interrupts. Druva started with the explanation of interrupts, programming interrupt controllers via device trees, before diving into the world of wake interrupts. Dhruva spoke about power management, and how wake interrupts can help in saving power by allowing shutting off certain part of the hardware until a wake interrupt is received. Dhruva covered various aspects of wake interrupts right from programming them, to helping audience visualize how the hardware enables them, and discussing several real-world example of their use such as tap to wake on your handheld devices.

We ended the day with a series of lightning talk from Saurabh Jain (IBM LTC), Srikar Dronamraju (IBM LTC), Ojaswin Mujoo (IBM LTC), Anup Sharma (Maxlinear), and Prateek Nayak (AMD), each sharing some of the interesting things they are working on in the community. A short discussion on how to keep the momentum going led to IBM and Microsoft both volunteering to host the subsequent meetups and suggestion to host meetup at IISC campus. And with that, the meetup ended. We would like to thank AMD for helping the revive the Bangalore Linux Kernel Meetup by organizing this first in-person post-pandemic meetup. Thanks to the ever vibrant and large kernel community we have here at Bangalore for making this event fun-filled and a memorable one.

July,23 Presentation slide