#
2868bd28 |
| 27-Jul-2005 |
Roland Dreier <roland@eddore.topspincom.com> |
Merge /scratch/Ksrc/linux-git/
|
#
1aaf18ff |
| 27-Jul-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] check_user_page_readable() deadlock fix
Fix bug identifued by Richard Purdie <rpurdie@rpsys.net>.
oprofile calls check_user_page_readable() from interrupt context, so we deadlock over vario
[PATCH] check_user_page_readable() deadlock fix
Fix bug identifued by Richard Purdie <rpurdie@rpsys.net>.
oprofile calls check_user_page_readable() from interrupt context, so we deadlock over various VFS locks.
But check_user_page_readable() doesn't imply either a read or a write of the page's contents. Change __follow_page() so that check_user_page_readable() can tell __follow_page() that we're not accessing the page's contents, and use that info to avoid the troublesome lock-takings.
Also, make follow_page() inline for the single callsite in memory.c to save a bit of stack space.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
f7f24758 |
| 13-Jul-2005 |
Dave Kleikamp <shaggy@austin.ibm.com> |
Merge with /home/shaggy/git/linus-clean/
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
|
Revision tags: v2.6.13-rc3, v2.6.13-rc2 |
|
#
d2f64095 |
| 02-Jul-2005 |
David Woodhouse <dwmw2@shinybook.infradead.org> |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
ab997aae |
| 30-Jun-2005 |
Steve French <sfrench@hera.kernel.org> |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
Revision tags: v2.6.13-rc1 |
|
#
f45727d5 |
| 26-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge /spare/repo/netdev-2.6/ branch 'ieee80211'
|
#
5696c194 |
| 26-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge /spare/repo/linux-2.6/
|
#
aef7b83c |
| 26-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge /spare/repo/linux-2.6/
|
#
7ca6448d |
| 26-Jun-2005 |
Thomas Gleixner <tglx@tglx.tec.linutronix.de> |
Merge with rsync://fileserver/linux Update to Linus latest
|
#
2a322e4c |
| 26-Jun-2005 |
Anton Altaparmakov <aia21@cantab.net> |
Automatic merge with /usr/src/ntfs-2.6.git.
|
#
8b0ee07e |
| 26-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6.
|
#
2d15cab8 |
| 25-Jun-2005 |
Hugh Dickins <hugh@veritas.com> |
[PATCH] mm: fix remap_pte_range BUG
Out-of-tree user of remap_pfn_range hit kernel BUG at mm/memory.c:1112! It passes an unrounded size to remap_pfn_range, which was okay before 2.6.12, but misses
[PATCH] mm: fix remap_pte_range BUG
Out-of-tree user of remap_pfn_range hit kernel BUG at mm/memory.c:1112! It passes an unrounded size to remap_pfn_range, which was okay before 2.6.12, but misses remap_pte_range's new end condition. An audit of all the other ptwalks confirms that this is the only one so exposed.
Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
38b22b6e |
| 25-Jun-2005 |
Anton Altaparmakov <aia21@cantab.net> |
Automerge with /usr/src/ntfs-2.6.git.
|
#
3d41088f |
| 24-Jun-2005 |
Martin Waitz <tali@admingilde.org> |
[PATCH] DocBook: update comments
This patch updates some comments to match code changes.
Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by
[PATCH] DocBook: update comments
This patch updates some comments to match code changes.
Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
fa5cfae3 |
| 23-Jun-2005 |
Steve French <sfrench@hera.kernel.org> |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
d41dee36 |
| 23-Jun-2005 |
Andy Whitcroft <apw@shadowen.org> |
[PATCH] sparsemem memory model
Sparsemem abstracts the use of discontiguous mem_maps[]. This kind of mem_map[] is needed by discontiguous memory machines (like in the old CONFIG_DISCONTIGMEM case)
[PATCH] sparsemem memory model
Sparsemem abstracts the use of discontiguous mem_maps[]. This kind of mem_map[] is needed by discontiguous memory machines (like in the old CONFIG_DISCONTIGMEM case) as well as memory hotplug systems. Sparsemem replaces DISCONTIGMEM when enabled, and it is hoped that it can eventually become a complete replacement.
A significant advantage over DISCONTIGMEM is that it's completely separated from CONFIG_NUMA. When producing this patch, it became apparent in that NUMA and DISCONTIG are often confused.
Another advantage is that sparse doesn't require each NUMA node's ranges to be contiguous. It can handle overlapping ranges between nodes with no problems, where DISCONTIGMEM currently throws away that memory.
Sparsemem uses an array to provide different pfn_to_page() translations for each SECTION_SIZE area of physical memory. This is what allows the mem_map[] to be chopped up.
In order to do quick pfn_to_page() operations, the section number of the page is encoded in page->flags. Part of the sparsemem infrastructure enables sharing of these bits more dynamically (at compile-time) between the page_zone() and sparsemem operations. However, on 32-bit architectures, the number of bits is quite limited, and may require growing the size of the page->flags type in certain conditions. Several things might force this to occur: a decrease in the SECTION_SIZE (if you want to hotplug smaller areas of memory), an increase in the physical address space, or an increase in the number of used page->flags.
One thing to note is that, once sparsemem is present, the NUMA node information no longer needs to be stored in the page->flags. It might provide speed increases on certain platforms and will be stored there if there is room. But, if out of room, an alternate (theoretically slower) mechanism is used.
This patch introduces CONFIG_FLATMEM. It is used in almost all cases where there used to be an #ifndef DISCONTIG, because SPARSEMEM and DISCONTIGMEM often have to compile out the same areas of code.
Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Martin Bligh <mbligh@aracnet.com> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com> Signed-off-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
3357d4c7 |
| 23-Jun-2005 |
Anton Altaparmakov <aia21@cantab.net> |
Automatic merge with /usr/src/ntfs-2.6.git.
|
#
a5324343 |
| 22-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge /spare/repo/linux-2.6/
|
#
ea0daab4 |
| 22-Jun-2005 |
Steve French <sfrench@us.ibm.com> |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
|
#
1bdf7a78 |
| 22-Jun-2005 |
Jeremy Allison <jra@samba.org> |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
80bd6d7f |
| 22-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge /spare/repo/linux-2.6/
|
#
ff40c6d3 |
| 22-Jun-2005 |
Jeff Garzik <jgarzik@pretzel.yyz.us> |
Merge upstream kernel changes into 'C/H/S support' branch of libata.
|
#
da04b128 |
| 22-Jun-2005 |
Jaroslav Kysela <perex@petra> |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
c475a8ab |
| 21-Jun-2005 |
Hugh Dickins <hugh@veritas.com> |
[PATCH] can_share_swap_page: use page_mapcount
Remember that ironic get_user_pages race? when the raised page_count on a page swapped out led do_wp_page to decide that it had to copy on write, so s
[PATCH] can_share_swap_page: use page_mapcount
Remember that ironic get_user_pages race? when the raised page_count on a page swapped out led do_wp_page to decide that it had to copy on write, so substituted a different page into userspace. 2.6.7 onwards have Andrea's solution, where try_to_unmap_one backs out if it finds page_count raised.
Which works, but is unsatisfying (rmap.c has no other page_count heuristics), and was found a few months ago to hang an intensive page migration test. A year ago I was hesitant to engage page_mapcount, now it seems the right fix.
So remove the page_count hack from try_to_unmap_one; and use activate_page in unuse_mm when dropping lock, to replace its secondary effect of helping swapoff to make progress in that case.
Simplify can_share_swap_page (now called only on anonymous pages) to check page_mapcount + page_swapcount == 1: still needs the page lock to stabilize their (pessimistic) sum, but does not need swapper_space.tree_lock for that.
In do_swap_page, move swap_free and unlock_page below page_add_anon_rmap, to keep sum on the high side, and correct when can_share_swap_page called.
Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
d296e9cd |
| 21-Jun-2005 |
Hugh Dickins <hugh@veritas.com> |
[PATCH] do_wp_page: cannot share file page
A small optimization to do_wp_page's check for whether to avoid copy by reusing the page already mapped. It can never share a cached file page, nor can it
[PATCH] do_wp_page: cannot share file page
A small optimization to do_wp_page's check for whether to avoid copy by reusing the page already mapped. It can never share a cached file page, nor can it share a reserved page (often the empty zero page), so it's a waste of time to lock and unlock in those cases. Which nowadays can both be neatly excluded by a preliminary PageAnon test.
Christoph has reported that a preliminary page_count test proved valuable for scalability here, but PageAnon covers more common cases all at once.
Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|