Difference between revisions of "Bootup Time Working Group"

From eLinux.org
Jump to: navigation, search
(Reformatted boxed text to bulleted list.)
(Specifications: remove Calibrate Delay Avoidance specification)
Line 30: Line 30:
 
*[[Timing_APISpecification]] - requirements (and specification?) for a simple API to support bootup timing measurements
 
*[[Timing_APISpecification]] - requirements (and specification?) for a simple API to support bootup timing measurements
 
*see also [[Instrumentation_API]] for some background research on this API
 
*see also [[Instrumentation_API]] for some background research on this API
*[[Calibrate Delay Avoidance Specification]] - avoiding the cost of calibrate_delay()
+
* Calibrate Delay Avoidance Specification - avoiding the cost of calibrate_delay()
 +
** Done - see [[Preset LPJ]]
 
*[[IDE_No_Probe_Specification]] - force kernel to observe the IDE "noprobe" command line option
 
*[[IDE_No_Probe_Specification]] - force kernel to observe the IDE "noprobe" command line option
 
*[[IDE_Preempt_Specification]] - change IDE busywaits into preemptible timeouts
 
*[[IDE_Preempt_Specification]] - change IDE busywaits into preemptible timeouts

Revision as of 00:27, 13 May 2009

This page has references for various resources for use by the Bootup Times Working Group.

Table of Contents:


Working Group Information

Charter

The Bootup Time Working Group shall work to minimize the activation and deactivation times of Linux systems. This includes making improvements in cold start bootup times and shutdown times, as well as improvements in the speed of suspend and resume operations. The Working Group shall establish requirements for Linux systems and sub-systems in order to accomplish this goal of timely activation and deactivation. Also, the Working Group will evaluate and recommend technical solutions and implementations which accomplish this goal.

Scope

The scope of this Working Group includes firmware, operating system kernel, and user space issues. It may include work to accelerate device initialization by means of coordination between the firmware and the OS, work inside the OS to reduce the time to initialize kernel sub-systems and device drivers, and work to increase application startup speed. Also, the Working Group may specify, evaluate or recommend instrumentation and tools for analysing bootup and shutdown times.
The Working Group will not consider compiler technologies related to this issue.

Current Tasks

See the Bootup Time Howto Task List

Documents and information

Current Projects

Boot-up Time Reduction Howto - this is a project to catalog existing bootup time reduction techniques. Work on this project is under way. The wiki will serve as the primary repository of information gathered for this project.

Specifications

Implementations and/or patches

Measurement Systems

  • Printk Times - simple system for showing timing information for each printk
  • Kernel Function Instrumentation - more complete system for reporting function timings in the kernel (The patch for this has not been isolated, but it's currently in the CELF tree)

Patches for Reducing Bootup Time

  • Preset LPJ - Allow the use of a preset loops_per_jiffy value
  • IDE No Probe - Force kernel to observe the ide<x>=noprobe option
  • IDE Preempt - Make IDE driver init busywaits preemptible
  • Kernel XIP - Allow kernel to be executed in-place in ROM or FLASH (code is not isolated yet, but is in the CELF source tree)

External projects

De-serialized user-space service startups (RC scripts)

Kexec

Pre-Linking and Lazy Linking

Others