History log of /openbmc/linux/mm/nommu.c (Results 2151 – 2174 of 2174)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


# 1363c3cd 21-Jun-2005 Wolfgang Wander <wwc@rentec.com>

[PATCH] Avoiding mmap fragmentation

Ingo recently introduced a great speedup for allocating new mmaps using the
free_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and
causes huge

[PATCH] Avoiding mmap fragmentation

Ingo recently introduced a great speedup for allocating new mmaps using the
free_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and
causes huge performance increases in thread creation.

The downside of this patch is that it does lead to fragmentation in the
mmap-ed areas (visible via /proc/self/maps), such that some applications
that work fine under 2.4 kernels quickly run out of memory on any 2.6
kernel.

The problem is twofold:

1) the free_area_cache is used to continue a search for memory where
the last search ended. Before the change new areas were always
searched from the base address on.

So now new small areas are cluttering holes of all sizes
throughout the whole mmap-able region whereas before small holes
tended to close holes near the base leaving holes far from the base
large and available for larger requests.

2) the free_area_cache also is set to the location of the last
munmap-ed area so in scenarios where we allocate e.g. five regions of
1K each, then free regions 4 2 3 in this order the next request for 1K
will be placed in the position of the old region 3, whereas before we
appended it to the still active region 1, placing it at the location
of the old region 2. Before we had 1 free region of 2K, now we only
get two free regions of 1K -> fragmentation.

The patch addresses thes issues by introducing yet another cache descriptor
cached_hole_size that contains the largest known hole size below the
current free_area_cache. If a new request comes in the size is compared
against the cached_hole_size and if the request can be filled with a hole
below free_area_cache the search is started from the base instead.

The results look promising: Whereas 2.6.12-rc4 fragments quickly and my
(earlier posted) leakme.c test program terminates after 50000+ iterations
with 96 distinct and fragmented maps in /proc/self/maps it performs nicely
(as expected) with thread creation, Ingo's test_str02 with 20000 threads
requires 0.7s system time.

Taking out Ingo's patch (un-patch available per request) by basically
deleting all mentions of free_area_cache from the kernel and starting the
search for new memory always at the respective bases we observe: leakme
terminates successfully with 11 distinctive hardly fragmented areas in
/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system
time for Ingo's test_str02 with 20000 threads.

Now - drumroll ;-) the appended patch works fine with leakme: it ends with
only 7 distinct areas in /proc/self/maps and also thread creation seems
sufficiently fast with 0.71s for 20000 threads.

Signed-off-by: Wolfgang Wander <wwc@rentec.com>
Credit-to: "Richard Purdie" <rpurdie@rpsys.net>
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu> (partly)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

show more ...


Revision tags: v2.6.12
# f2cbb4f0 15-Jun-2005 Tony Luck <tony.luck@intel.com>

Auto merge with /home/aegl/GIT/linus


Revision tags: v2.6.12-rc6
# ae20ea85 03-Jun-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of /spare/repo/linux-2.6/.git branch HEAD


# 73561695 03-Jun-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of /spare/repo/linux-2.6/.git branch HEAD


# 7078253c 02-Jun-2005 Dave Kleikamp <shaggy@austin.ibm.com>

Merge with /home/shaggy/git/linus-clean/

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>


# 51a730d7 27-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of /spare/repo/netdev-2.6 branch we18-ieee80211


# ff0e0ea2 27-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of /spare/repo/netdev-2.6 branch we18


# 1f15d694 27-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of /spare/repo/netdev-2.6 branch master


# b19312c4 27-May-2005 Christoph Hellwig <hch@hera.kernel.org>

Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git


# 462cee29 26-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD


# 8973a585 26-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD


# 949d33e7 26-May-2005 <jgarzik@pretzel.yyz.us>

Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD


Revision tags: v2.6.12-rc5
# 67394f8f 21-May-2005 Anton Altaparmakov <aia21@cantab.net>

Merge with /usr/src/ntfs-2.6.git


# 7063e6c7 19-May-2005 David Woodhouse <dwmw2@shinybook.infradead.org>

Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git


# d0dac808 17-May-2005 Tony Luck <tony.luck@intel.com>

Merge with linus


# 7a019225 16-May-2005 Adrian Bunk <bunk@stusta.de>

[PATCH] mm/nommu.c: try to fix __vmalloc

Linus changed the second argument of __vmalloc from int to unsigned int
breaking the compilation for CONFIG_MMU=n configurations (since he only
changed vmall

[PATCH] mm/nommu.c: try to fix __vmalloc

Linus changed the second argument of __vmalloc from int to unsigned int
breaking the compilation for CONFIG_MMU=n configurations (since he only
changed vmalloc.c but not nommu.c).

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

show more ...


Revision tags: v2.6.12-rc4, v2.6.12-rc3, v2.6.12-rc2
# 1da177e4 16-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org>

Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in

Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!

show more ...


1...<<81828384858687