<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LinuxEco &#187; Paging</title>
	<atom:link href="http://linuxeco.com/?feed=rss2&#038;tag=paging" rel="self" type="application/rss+xml" />
	<link>http://linuxeco.com</link>
	<description>Linux Ecosystems, Linux Kernel Training, Kernel Education and Information Exchange, Linux Training</description>
	<lastBuildDate>Fri, 03 Aug 2012 18:36:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux Kernel Address Spaces, Zone Pages and Allocations etc</title>
		<link>http://linuxeco.com/?p=92</link>
		<comments>http://linuxeco.com/?p=92#comments</comments>
		<pubDate>Tue, 17 Jan 2012 23:23:25 +0000</pubDate>
		<dc:creator>Anand</dc:creator>
				<category><![CDATA[Linux Kernel Memory Management]]></category>
		<category><![CDATA[Linux Kernel Address Spaces]]></category>
		<category><![CDATA[Paging]]></category>

		<guid isPermaLink="false">http://linuxeco.com/?p=92</guid>
		<description><![CDATA[Managing the processors memory (Virtual and Physical) is a key component of the Linux Kernel that is intimately tied in to performance and scalability. Processor physical memory is allocated by ZONEs. But how about its Address Space (struct address_space) ? Atleast one place that the ADDRESS SPACE (struct address_space) is initialized is when the processors [...]]]></description>
			<content:encoded><![CDATA[<p>Managing the processors memory (Virtual and Physical) is a key component of the Linux Kernel that is intimately tied in to performance and scalability.</p>
<p>Processor physical memory is allocated by ZONEs. But how about its <strong>Address Space</strong> (struct address_space) ?</p>
<p>Atleast one place that the <strong>ADDRESS SPACE</strong> (struct address_space) is initialized is when the processors <strong>INODE </strong> (struct inode) is created (on <strong>open</strong> system calls, for example).</p>
<p>It is atleast at this time also that the flags of the <strong>ADDRESS SPACE</strong> is initialzed to indicate the <strong>ZONE</strong> in which the pages which belong to it will reside.</p>
<p>When it comes time for the allocation of a page, a page needs to be selected from the appropriate <strong>ZONE</strong> as indicated by the <strong>Address Space</strong>. Page flags are also initialized at <strong>INIT</strong> time to belong to the <strong>ZONE</strong> (<strong>free_area_init_core</strong>). This facilitates returning the page to the correct <strong>ZONE</strong>&#8216;s free list when it is freed up (when a process terminates, for example).</p>
<p>I will blog on this at length. Please subscribe to our mail list for automated updates on new blog entries. I explain Linux Kernel concepts and more in my classes ( <strong>Advanced Linux Kernel Programming</strong> @UCSC-Extension, and also in other classes that I teach independently). As always, Feedback, Questions and Comments are appreciated and will be responded to.</p>
<p>Thanks</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxeco.com/?feed=rss2&#038;p=92</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
