This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/include/linux
Mel Gorman d239171e4f page allocator: replace __alloc_pages_internal() with __alloc_pages_nodemask()
The start of a large patch series to clean up and optimise the page
allocator.

The performance improvements are in a wide range depending on the exact
machine but the results I've seen so fair are approximately;

kernbench:	0	to	 0.12% (elapsed time)
		0.49%	to	 3.20% (sys time)
aim9:		-4%	to	30% (for page_test and brk_test)
tbench:		-1%	to	 4%
hackbench:	-2.5%	to	 3.45% (mostly within the noise though)
netperf-udp	-1.34%  to	 4.06% (varies between machines a bit)
netperf-tcp	-0.44%  to	 5.22% (varies between machines a bit)

I haven't sysbench figures at hand, but previously they were within the
-0.5% to 2% range.

On netperf, the client and server were bound to opposite number CPUs to
maximise the problems with cache line bouncing of the struct pages so I
expect different people to report different results for netperf depending
on their exact machine and how they ran the test (different machines, same
cpus client/server, shared cache but two threads client/server, different
socket client/server etc).

I also measured the vmlinux sizes for a single x86-based config with
CONFIG_DEBUG_INFO enabled but not CONFIG_DEBUG_VM.  The core of the
.config is based on the Debian Lenny kernel config so I expect it to be
reasonably typical.

This patch:

__alloc_pages_internal is the core page allocator function but essentially
it is an alias of __alloc_pages_nodemask.  Naming a publicly available and
exported function "internal" is also a big ugly.  This patch renames
__alloc_pages_internal() to __alloc_pages_nodemask() and deletes the old
nodemask function.

Warning - This patch renames an exported symbol.  No kernel driver is
affected by external drivers calling __alloc_pages_internal() should
change the call to __alloc_pages_nodemask() without any alteration of
parameters.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-06-16 19:47:32 -07:00
..
2009-04-07 10:23:34 +01:00
2009-06-11 21:36:00 -04:00
2009-04-01 08:59:23 -07:00
2009-06-01 06:21:13 +00:00
2009-05-02 15:36:10 -07:00
2009-04-23 10:06:35 +01:00
2009-06-11 21:36:09 -04:00
2009-04-03 14:53:32 -07:00
2009-05-29 08:40:01 -07:00
2009-06-11 08:50:57 -07:00
2009-06-11 21:36:06 -04:00
2009-04-03 14:53:32 -07:00
2009-06-16 19:47:28 -07:00
2009-04-03 09:48:29 -07:00
2009-04-02 19:04:53 -07:00
2009-06-03 14:05:10 -04:00
2009-05-19 16:02:02 -07:00
2009-05-22 09:43:41 +10:00
2009-06-02 00:45:24 -07:00
2009-06-16 19:47:28 -07:00
2009-06-14 22:10:41 +02:00
2009-04-21 13:41:48 -07:00
2009-04-21 13:41:48 -07:00
2009-06-11 17:03:28 +01:00
2009-06-10 11:48:39 +03:00
2009-04-06 16:06:26 +01:00
2009-04-28 07:37:28 +02:00
2009-04-14 09:00:19 +10:00
2009-04-29 17:32:35 -07:00
2009-06-11 19:05:32 +02:00
2009-05-25 00:55:45 -07:00
2009-04-02 19:04:48 -07:00
2009-06-11 21:36:02 -04:00
2009-06-11 21:36:01 -04:00
2009-04-03 17:41:23 -07:00
2009-04-01 13:28:15 -04:00
2009-04-03 17:41:12 -07:00
2009-04-30 15:32:11 +00:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-04-24 08:54:21 +02:00
2009-04-01 08:59:13 -07:00
2009-03-30 15:22:01 +02:00
2009-06-11 21:36:12 -04:00
2009-03-26 02:18:35 +01:00
2009-03-30 14:28:58 -07:00
2009-05-09 10:49:41 -04:00
2009-04-01 08:59:24 -07:00
2009-04-08 14:33:38 -07:00
2009-06-11 08:50:58 -07:00
2009-04-13 15:04:29 -07:00
2009-04-21 19:40:00 -07:00
2009-04-27 02:45:02 -07:00
2009-03-27 12:18:56 -04:00
2009-05-12 11:11:48 +02:00
2009-04-02 19:05:01 -07:00
2009-06-11 08:50:59 -07:00
2009-06-11 08:51:01 -07:00
2009-03-26 18:14:21 +01:00
2009-04-17 10:50:27 -07:00