Boot X86 faster
Jul 11, 2008 — by LinuxDevices Staff — from the LinuxDevices Archive — 13 viewsIn this tutorial whitepaper, the co-founder, CTO, and “chief coffee drinker” of Isreali development firm Codefidence explains how to instrument x86-based systems to measure boot latency. Author Gilad Ben-Yossef supplies helpful code snippets and great advice to help any x86 device or PC boot faster.
Everyone wants faster boot times. Why wait, if you don't have to? For some applications, like remote solar-powered PCs that boot up from time to time to take a sensor reading, the boot process actually becomes the single biggest power drain on the whole system, and so optimizing it becomes critical.
Whether faster boot times are a nicety or a requisite for your application, this whitepaper will explain how to intelligently identify your system's boot-time bottlenecks, so you'll know where to focus your optimization efforts. Is it the BIOS, the bootloader, or the kernel that's slowing things down?
The approach described by Ben-Yossef involves instrumenting the bootloader, kernel, and initial application (“init”), so that each prints out a reading from the TSC (time stamp clock) register built into x86 processors ever since the Pentium. Gilad provides sample code for the syslinux bootloader, and offers advice about how to disable cpufreq (processor speed scaling) and deal with multi-core systems, too.
Along the way he discusses:
- CONFIG_PRINTK_TIMES
- sched_setaffinity()
- Comboot API
- rdstc function
- Timestamp math
Click the link below to read Ben-Yossef's article. And be quick about it!
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.