Advertisment

What is Kernel Upgrade & Why you need it?

Learn why a kernel upgrade is critical for maintaining software product lines. Discover the benefits and key steps involved, including improved security, hardware support, and performance optimization.

author-image
DQI Bureau
New Update
Kernel Upgrade

When you have SW Product Line with older kernel, launching new devices or supporting existing devices in market has become a challenge. Various peripherals you need no longer be supported as they have attained End of Life or When new peripheral is needed for a derivative product does not support older kernel or notified security holes in old kernel or complying to Govt regulations on minimum version support in particular market/region or patching older kernel in longer run become more expensive and cumbersome.

Advertisment

Now going for kernel upgrade on existing SW Product Line presents many benefits. It offers continuation of the SW Product Line for many more years. It also make way to launch of derivative product line with upgraded peripherals & components.

Let’s see few other benefits of kernel upgrade.

· Protection against hacks by plugging security holes.

Advertisment

· Get fixes for known issues from Open Source community.

· Support for new HW like peripherals and components.

· New features – improvement in I/O performance, Better CPU and Disk scheduling algorithm, etc.

Advertisment

· Meet Compliance Guidelines by various Govt bodies in EU and elsewhere.

· Easy to do maintenance of SW Product Line for Longer period of times.

Let’s find out more about development works and how to go about this Kernel Upgrade.

Advertisment

The Initiation

Before we embark on doing Kernel upgrade on existing SW Product Line, there are certain considerations. Let’s go through them.

· Existing Features/Use Case support,

Advertisment

· Test Procedures of how to validate these use cases,

· Any specific HW Requirements to validate,

· Test Reports of existing SW Product Line to establish a baseline.

Advertisment

· Free RAM Requirement after boot up to run required use case.

· Boot Time Requirements, etc.

· Qualifying parameters to call for successful upgrade.

Advertisment

Assessment

Identify all the drivers that you have in the SW Product Line and evaluate if you want to continue using Downstream or switch to corresponding Upstream Driver. Chalk out porting strategy which would help in determining Testing Impact on the supported use case and Development Effort.

There is another important step is to undergo an exercise of forecasting now Free RAM to be available after kernel upgrade happens. Forecasting Free RAM may be difficult exercise but has it merits. You need lot historical data of previous kernel upgrades to come up with ball mark number. This is very important metric to evaluate feasibility of supporting existing use case after kernel upgrade. Also, determines challenges to be seen in achieving stable and functional software. We get a fair idea of code optimizations that need to be brought in at various phases of the upgrade process.   

The Core

· Refactoring -

Existing code may need to be restructured to fit in with latest kernel API/generic drivers. Your old code will also come of age now.

· Early Drops to Customers –

Code is released to the customer at various intervals during Kernel Upgrade. This helps Customer to get hands on the new kernel, code organization and give head start to customer for their Feature Integration. Typically we offer 3 release like -  Engineering Sample (Basic Feature are working), Feature Complete (All Features are functional) and Launch Ready (Performance optimized).

· Maintaining Feature Parity –

When SW Product Line receives a new kernel, we must ensure that existing feature/use cases are working as expected and there is no impact to functionality. Functional test/Sanities are done at various points of time to ensure there is no impact.    

· Key Performance Parameters –

·        Memory – Customer always have minimum Free RAM requirement to run their use case properly. It is very important to know this number beforehand as the goal is to be near this number after Kernel upgrade. Generally, Kernel upgrade come with Free RAM impacts as newer kernel brings in new features/services which need memory. These impacts will be seen in Memory Dashboards readouts that are generated. Dashboard needs to be reviewed in detail for various deltas and see if memory can be optimized further to be as close to the Free RAM goal of customer.

·        Boot KPI – Customer always have requirement when his service/feature kicks in after or during boot for their usecase. New kernel brings in new features and service that get initialized during boot up. This may push the boot complete by few secs further hence delaying customer feature/service initialization. When various Boot markers are measured, one comes to know the impact of new kernel feature and services. Based on use case boot time requirement there will be a need to optimize default not sequence.

· Stability of Software Aka Mean Time Between Failure.

SW Product Line has to be very stable after kernel upgrade. Various stability testing like reboot tests, long soak, concurrency testing etc are done to understand Mean Time between Failure (MTBF). Higher this number better it is. This iterative step are run to identify the failure, fix and measure MTBF. An 100+hr MTBF is good number to achieve.  

· Maintenance Release -  

As Open Source Community keeps providing fixes on various Kernel LTS branches. Once we on the latest LTS kernel with kernel upgrade, it is easy to pick new security fixes(CVE) from Open Source LTS branch and deliver in maintenance release to customers at regular intervals.    

Conclusion:

We hope you find this guide helpful and that you now understand what it is and how kernel upgrade is done. Next time you think about how kernel upgrade is done; we hope you’ll remember this short introduction.

By Arun Kumar Simhadri, Senior Director, Connected Devices, Innominds

Advertisment