<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/linux/mm.h, branch linux-2.6.22.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-06-21T22:55:12Z</updated>
<entry>
<title>page_mapping must avoid slub pages</title>
<updated>2007-06-21T22:55:12Z</updated>
<author>
<name>Hugh Dickins</name>
</author>
<published>2007-06-21T22:27:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9bae3402572dc50a1e084c5b1ae5117918ef0f0'/>
<id>urn:sha1:b9bae3402572dc50a1e084c5b1ae5117918ef0f0</id>
<content type='text'>
Nicolas Ferre reports oops from flush_dcache_page() on ARM when using
SLUB: which reuses page-&gt;mapping as page-&gt;slab.  The page_mapping()
function, used by ARM and PA-RISC flush_dcache_page() implementations,
must not confuse SLUB pages with those which have page-&gt;mapping set.

Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Cc: Nicolas Ferre &lt;nicolas.ferre@rfo.atmel.com&gt;
Cc: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Detach sched.h from mm.h</title>
<updated>2007-05-21T16:18:19Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2007-05-20T21:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8edc6e03a5c8562dc70a6d969f732bdb355a7e7'/>
<id>urn:sha1:e8edc6e03a5c8562dc70a6d969f732bdb355a7e7</id>
<content type='text'>
First thing mm.h does is including sched.h solely for can_do_mlock() inline
function which has "current" dereference inside. By dealing with can_do_mlock()
mm.h can be detached from sched.h which is good. See below, why.

This patch
a) removes unconditional inclusion of sched.h from mm.h
b) makes can_do_mlock() normal function in mm/mlock.c
c) exports can_do_mlock() to not break compilation
d) adds sched.h inclusions back to files that were getting it indirectly.
e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
   getting them indirectly

Net result is:
a) mm.h users would get less code to open, read, preprocess, parse, ... if
   they don't need sched.h
b) sched.h stops being dependency for significant number of files:
   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
   after patch it's only 3744 (-8.3%).

Cross-compile tested on

	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
	alpha alpha-up
	arm
	i386 i386-up i386-defconfig i386-allnoconfig
	ia64 ia64-up
	m68k
	mips
	parisc parisc-up
	powerpc powerpc-up
	s390 s390-up
	sparc sparc-up
	sparc64 sparc64-up
	um-x86_64
	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

as well as my two usual configs.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Add virt_to_head_page and consolidate code in slab and slub</title>
<updated>2007-05-07T19:12:54Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2007-05-06T21:49:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b49af68ff9fc5d6e0d96704a1843968b91cc73c6'/>
<id>urn:sha1:b49af68ff9fc5d6e0d96704a1843968b91cc73c6</id>
<content type='text'>
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: optimize compound_head() by avoiding a shared page flag</title>
<updated>2007-05-07T19:12:53Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2007-05-06T21:49:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d7779538f765963ced45a3fa4bed7ba8d2c277d'/>
<id>urn:sha1:6d7779538f765963ced45a3fa4bed7ba8d2c277d</id>
<content type='text'>
The patch adds PageTail(page) and PageHead(page) to check if a page is the
head or the tail of a compound page.  This is done by masking the two bits
describing the state of a compound page and then comparing them.  So one
comparision and a branch instead of two bit checks and two branches.

Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Make page-&gt;private usable in compound pages</title>
<updated>2007-05-07T19:12:53Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2007-05-06T21:49:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d85f33855c303acfa87fa457157cef755b6087df'/>
<id>urn:sha1:d85f33855c303acfa87fa457157cef755b6087df</id>
<content type='text'>
If we add a new flag so that we can distinguish between the first page and the
tail pages then we can avoid to use page-&gt;private in the first page.
page-&gt;private == page for the first page, so there is no real information in
there.

Freeing up page-&gt;private makes the use of compound pages more transparent.
They become more usable like real pages.  Right now we have to be careful f.e.
 if we are going beyond PAGE_SIZE allocations in the slab on i386 because we
can then no longer use the private field.  This is one of the issues that
cause us not to support debugging for page size slabs in SLAB.

Having page-&gt;private available for SLUB would allow more meta information in
the page struct.  I can probably avoid the 16 bit ints that I have in there
right now.

Also if page-&gt;private is available then a compound page may be equipped with
buffer heads.  This may free up the way for filesystems to support larger
blocks than page size.

We add PageTail as an alias of PageReclaim.  Compound pages cannot currently
be reclaimed.  Because of the alias one needs to check PageCompound first.

The RFC for the this approach was discussed at
http://marc.info/?t=117574302800001&amp;r=1&amp;w=2

[nacc@us.ibm.com: fix hugetlbfs]
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Nishanth Aravamudan &lt;nacc@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: remove gcc workaround</title>
<updated>2007-05-07T19:12:51Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2007-05-06T21:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f22df00a009e3f86301366c0ecddb63ebd22af9'/>
<id>urn:sha1:5f22df00a009e3f86301366c0ecddb63ebd22af9</id>
<content type='text'>
Minimum gcc version is 3.2 now.  However, with likely profiling, even
modern gcc versions cannot always eliminate the call.

Replace the placeholder functions with the more conventional empty static
inlines, which should be optimal for everyone.

Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Add apply_to_page_range() which applies a function to a pte range</title>
<updated>2007-05-07T19:12:51Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2007-05-06T21:48:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aee16b3cee2746880e40945a9b5bff4f309cfbc4'/>
<id>urn:sha1:aee16b3cee2746880e40945a9b5bff4f309cfbc4</id>
<content type='text'>
Add a new mm function apply_to_page_range() which applies a given function to
every pte in a given virtual address range in a given mm structure.  This is a
generic alternative to cut-and-pasting the Linux idiomatic pagetable walking
code in every place that a sequence of PTEs must be accessed.

Although this interface is intended to be useful in a wide range of
situations, it is currently used specifically by several Xen subsystems, for
example: to ensure that pagetables have been allocated for a virtual address
range, and to construct batched special pagetable update requests to map I/O
memory (in ioremap()).

[akpm@linux-foundation.org: fix warning, unpleasantly]
Signed-off-by: Ian Pratt &lt;ian.pratt@xensource.com&gt;
Signed-off-by: Christian Limpach &lt;Christian.Limpach@cl.cam.ac.uk&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy@xensource.com&gt;
Cc: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Matt Mackall &lt;mpm@waste.org&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] mm/{,tiny-}shmem.c cleanups</title>
<updated>2007-03-01T22:53:35Z</updated>
<author>
<name>Adrian Bunk</name>
</author>
<published>2007-03-01T04:11:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b83a6a8523a8a96b6353174b193c5c93e16c6c3'/>
<id>urn:sha1:9b83a6a8523a8a96b6353174b193c5c93e16c6c3</id>
<content type='text'>
shmem_{nopage,mmap} are no longer used in ipc/shm.c

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add NOPFN_REFAULT result from vm_ops-&gt;nopfn()</title>
<updated>2007-02-12T17:48:27Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2007-02-12T08:51:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22cd25ed31bbf849acaa06ab220dc4f526153f13'/>
<id>urn:sha1:22cd25ed31bbf849acaa06ab220dc4f526153f13</id>
<content type='text'>
Add a NOPFN_REFAULT return code for vm_ops-&gt;nopfn() equivalent to
NOPAGE_REFAULT for vmops-&gt;nopage() indicating that the handler requests a
re-execution of the faulting instruction

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Arnd Bergmann &lt;arnd.bergmann@de.ibm.com&gt;
Cc: Hugh Dickins &lt;hugh@veritas.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] add vm_insert_pfn()</title>
<updated>2007-02-12T17:48:27Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2007-02-12T08:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0dc0d8f4a327d033bfb63d43f113d5f31d11b3c'/>
<id>urn:sha1:e0dc0d8f4a327d033bfb63d43f113d5f31d11b3c</id>
<content type='text'>
Add a vm_insert_pfn helper, so that -&gt;fault handlers can have nopfn
functionality by installing their own pte and returning NULL.

Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Arnd Bergmann &lt;arnd.bergmann@de.ibm.com&gt;
Cc: Hugh Dickins &lt;hugh@veritas.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
