<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;feed=atom&amp;action=history</id>
		<title>Add boot cache to kernel - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;action=history"/>
		<updated>2013-05-19T15:30:43Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32767&amp;oldid=prev</id>
		<title>Tim Bird: change name to 'boot cache'</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32767&amp;oldid=prev"/>
				<updated>2011-01-25T19:48:14Z</updated>
		
		<summary type="html">&lt;p&gt;change name to &amp;#039;boot cache&amp;#039;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:48, 25 January 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;; Summary: Add &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fastboot parameter &lt;/del&gt;cache to kernel&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;; Summary: Add &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;boot &lt;/ins&gt;cache to kernel&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;; Proposer: Tim Bird&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;; Proposer: Tim Bird&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This proposal would be the creation and mainlining of a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fastboot&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This proposal would be the creation and mainlining of a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;boot&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;parameter cache for the Linux kernel.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;parameter cache for the Linux kernel.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:32755:newid:32767 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tim Bird</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32755&amp;oldid=prev</id>
		<title>Tim Bird: moved Add fastboot parameter cache to kernel to Add boot cache to kernel: name was similar to other proposal</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32755&amp;oldid=prev"/>
				<updated>2011-01-25T19:47:32Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/Add_fastboot_parameter_cache_to_kernel&quot; class=&quot;mw-redirect&quot; title=&quot;Add fastboot parameter cache to kernel&quot;&gt;Add fastboot parameter cache to kernel&lt;/a&gt; to &lt;a href=&quot;/Add_boot_cache_to_kernel&quot; title=&quot;Add boot cache to kernel&quot;&gt;Add boot cache to kernel&lt;/a&gt;: name was similar to other proposal&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:47, 25 January 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Tim Bird</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32731&amp;oldid=prev</id>
		<title>Tim Bird: add boot cache proposal</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Add_boot_cache_to_kernel&amp;diff=32731&amp;oldid=prev"/>
				<updated>2011-01-25T19:19:57Z</updated>
		
		<summary type="html">&lt;p&gt;add boot cache proposal&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;; Summary: Add fastboot parameter cache to kernel&lt;br /&gt;
&lt;br /&gt;
; Proposer: Tim Bird&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This proposal would be the creation and mainlining of a fastboot&lt;br /&gt;
parameter cache for the Linux kernel.&lt;br /&gt;
&lt;br /&gt;
The purpose of this cache would be to store values which are&lt;br /&gt;
detected in one boot of the Linux kernel, so they can be&lt;br /&gt;
quickly accessed and used on subsequent boots of the kernel,&lt;br /&gt;
to reduce kernel initialization time (specifically, to avoid&lt;br /&gt;
unneeded probing for non-changing hardware.)&lt;br /&gt;
&lt;br /&gt;
The idea would be to provide an internal facility (API)&lt;br /&gt;
inside the kernel that drivers could use to query for&lt;br /&gt;
hardware parameters, prior to probing.  If a value is found,&lt;br /&gt;
then the probe can be avoided.  If not, then probing is&lt;br /&gt;
done as usual.  It would be important to have a very unintrusive and&lt;br /&gt;
easy-to-use API for this.&lt;br /&gt;
&lt;br /&gt;
The mechanism would need to support a method of persistently storing&lt;br /&gt;
the values for future kernel invocations (for example, by storing&lt;br /&gt;
them in persistent memory, in a device tree, passing them on the&lt;br /&gt;
kernel command line, or attaching them to the kernel boot image)&lt;br /&gt;
&lt;br /&gt;
This can be seen as a generalization of the way probing/autodetection&lt;br /&gt;
is avoided by using a command line parameter for loops_per_jiffy.&lt;br /&gt;
&lt;br /&gt;
Andrew Murray proposed this under the name &amp;quot;boot cache&amp;quot;, in August, 2010&lt;br /&gt;
to the kernel mailing list.&lt;br /&gt;
&lt;br /&gt;
== Related work ==&lt;br /&gt;
* See Andrew Murray's talk at ELC Europe 2010 - The Right Approach to Minimal Boot Times&lt;br /&gt;
** http://elinux.org/images/f/f7/RightApproachMinimalBootTimes.pdf&lt;br /&gt;
* See [[Preset LPJ]] for a description of how preset loops_per_jiffy works&lt;br /&gt;
* Andrew Murray's RFC and discussion on LKML:&lt;br /&gt;
** See https://lkml.org/lkml/2010/8/31/347&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
The mechanism could probably be developed in 4 to 8 weeks.  Mainlining it&lt;br /&gt;
might take 4 to 6 additional weeks.&lt;br /&gt;
&lt;br /&gt;
== Contractor Candidates ==&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Project proposals 2011]]&lt;/div&gt;</summary>
		<author><name>Tim Bird</name></author>	</entry>

	</feed>