]>
git.karo-electronics.de Git - karo-tx-linux.git/log
Mel Gorman [Thu, 25 Oct 2012 01:14:33 +0000 (12:14 +1100)]
mm: vmscan: scale number of pages reclaimed by reclaim/compaction only in direct reclaim
Jiri Slaby reported the following:
(It's an effective revert of "mm: vmscan: scale number of pages
reclaimed by reclaim/compaction based on failures".)
Given kswapd had hours of runtime in ps/top output yesterday in the
morning and after the revert it's now 2 minutes in sum for the last 24h,
I would say, it's gone.
The intention of the patch in question was to compensate for the loss of
lumpy reclaim. Part of the reason lumpy reclaim worked is because it
aggressively reclaimed pages and this patch was meant to be a sane
compromise.
When compaction fails, it gets deferred and both compaction and
reclaim/compaction is deferred avoid excessive reclaim. However, since
commit
c6543459 ("mm: remove __GFP_NO_KSWAPD"), kswapd is woken up each
time and continues reclaiming which was not taken into account when the
patch was developed.
As it is not taking deferred compaction into account in this path it scans
aggressively before falling out and making the compaction_deferred check
in compaction_ready. This patch avoids kswapd scaling pages for reclaim
and leaves the aggressive reclaim to the process attempting the THP
allocation.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Reported-by: Jiri Slaby <jslaby@suse.cz>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stephen Rothwell [Thu, 1 Nov 2012 04:22:57 +0000 (15:22 +1100)]
Merge branch 'akpm-current/current'
Conflicts:
tools/testing/selftests/epoll/test_epoll.c
Stephen Rothwell [Thu, 1 Nov 2012 04:18:41 +0000 (15:18 +1100)]
Merge remote-tracking branch 'drop-experimental/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 04:16:53 +0000 (15:16 +1100)]
Merge remote-tracking branch 'lzo-update/lzo-update'
Stephen Rothwell [Thu, 1 Nov 2012 04:15:16 +0000 (15:15 +1100)]
Merge remote-tracking branch 'random/dev'
Stephen Rothwell [Thu, 1 Nov 2012 04:13:33 +0000 (15:13 +1100)]
Merge remote-tracking branch 'clk/clk-next'
Conflicts:
arch/arm/include/asm/hardware/sp810.h
Stephen Rothwell [Thu, 1 Nov 2012 04:06:37 +0000 (15:06 +1100)]
Merge remote-tracking branch 'signal/for-next'
Conflicts:
arch/sparc/kernel/sys_sparc_64.c
Stephen Rothwell [Thu, 1 Nov 2012 04:04:43 +0000 (15:04 +1100)]
Merge remote-tracking branch 'dma-buf/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 04:02:56 +0000 (15:02 +1100)]
Merge remote-tracking branch 'kvmtool/master'
Stephen Rothwell [Thu, 1 Nov 2012 04:01:19 +0000 (15:01 +1100)]
Merge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:59:37 +0000 (14:59 +1100)]
Merge remote-tracking branch 'samsung/for-next'
Conflicts:
arch/arm/boot/dts/exynos4210.dtsi
Stephen Rothwell [Thu, 1 Nov 2012 03:57:58 +0000 (14:57 +1100)]
Merge remote-tracking branch 'renesas/next'
Stephen Rothwell [Thu, 1 Nov 2012 03:56:14 +0000 (14:56 +1100)]
Merge remote-tracking branch 'ixp4xx/next'
Stephen Rothwell [Thu, 1 Nov 2012 03:56:11 +0000 (14:56 +1100)]
Merge remote-tracking branch 'ep93xx/ep93xx-for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:54:35 +0000 (14:54 +1100)]
Merge remote-tracking branch 'cortex/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:52:55 +0000 (14:52 +1100)]
Merge remote-tracking branch 'bcm2835/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:51:13 +0000 (14:51 +1100)]
Merge remote-tracking branch 'arm-soc/for-next'
Conflicts:
arch/arm/Kconfig
arch/arm/mach-omap2/drm.c
arch/arm/mach-ux500/cpu-db8500.c
Stephen Rothwell [Thu, 1 Nov 2012 03:49:32 +0000 (14:49 +1100)]
Merge remote-tracking branch 'gpio-lw/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:49:16 +0000 (14:49 +1100)]
Merge remote-tracking branch 'vhost/linux-next'
Conflicts:
drivers/net/tun.c
Stephen Rothwell [Thu, 1 Nov 2012 03:47:22 +0000 (14:47 +1100)]
Merge remote-tracking branch 'pinctrl/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:40:54 +0000 (14:40 +1100)]
Merge remote-tracking branch 'tmem/linux-next'
Conflicts:
arch/x86/include/asm/xen/interface.h
arch/x86/xen/setup.c
arch/x86/xen/smp.c
drivers/xen/cpu_hotplug.c
Stephen Rothwell [Thu, 1 Nov 2012 03:18:42 +0000 (14:18 +1100)]
Merge remote-tracking branch 'char-misc/char-misc-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:16:51 +0000 (14:16 +1100)]
Merge remote-tracking branch 'staging/staging-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:14:47 +0000 (14:14 +1100)]
Merge remote-tracking branch 'usb/usb-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:12:25 +0000 (14:12 +1100)]
Merge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:10:43 +0000 (14:10 +1100)]
Merge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:09:02 +0000 (14:09 +1100)]
Merge remote-tracking branch 'leds/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:07:14 +0000 (14:07 +1100)]
Merge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:05:20 +0000 (14:05 +1100)]
Merge remote-tracking branch 'drivers-x86/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:03:40 +0000 (14:03 +1100)]
Merge remote-tracking branch 'workqueues/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 03:02:03 +0000 (14:02 +1100)]
Merge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:55:33 +0000 (13:55 +1100)]
Merge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:52:47 +0000 (13:52 +1100)]
Merge remote-tracking branch 'kvm-ppc/kvm-ppc-next'
Conflicts:
arch/powerpc/include/asm/Kbuild
arch/powerpc/include/uapi/asm/Kbuild
Stephen Rothwell [Thu, 1 Nov 2012 02:50:59 +0000 (13:50 +1100)]
Merge remote-tracking branch 'kvm/linux-next'
Conflicts:
arch/powerpc/include/asm/Kbuild
arch/powerpc/include/asm/kvm_para.h
Stephen Rothwell [Thu, 1 Nov 2012 02:43:28 +0000 (13:43 +1100)]
Merge remote-tracking branch 'rcu/rcu/next'
Stephen Rothwell [Thu, 1 Nov 2012 02:35:59 +0000 (13:35 +1100)]
Merge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Thu, 1 Nov 2012 02:34:17 +0000 (13:34 +1100)]
Merge remote-tracking branch 'spi-mb/spi-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:32:36 +0000 (13:32 +1100)]
Merge remote-tracking branch 'dt-rh/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:30:57 +0000 (13:30 +1100)]
Merge remote-tracking branch 'edac-amd/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:29:10 +0000 (13:29 +1100)]
Merge remote-tracking branch 'edac/linux_next'
Stephen Rothwell [Thu, 1 Nov 2012 02:27:31 +0000 (13:27 +1100)]
Merge remote-tracking branch 'fsnotify/for-next'
Conflicts:
kernel/audit_tree.c
Stephen Rothwell [Thu, 1 Nov 2012 02:19:58 +0000 (13:19 +1100)]
Merge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:18:13 +0000 (13:18 +1100)]
Merge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:16:34 +0000 (13:16 +1100)]
Merge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 02:11:23 +0000 (13:11 +1100)]
Merge remote-tracking branch 'iommu/next'
Stephen Rothwell [Thu, 1 Nov 2012 02:09:36 +0000 (13:09 +1100)]
Merge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Thu, 1 Nov 2012 02:09:29 +0000 (13:09 +1100)]
Merge remote-tracking branch 'selinux/master'
Stephen Rothwell [Thu, 1 Nov 2012 02:02:38 +0000 (13:02 +1100)]
Merge remote-tracking branch 'security/next'
Conflicts:
fs/cifs/cifsacl.c
net/dns_resolver/dns_key.c
security/keys/keyctl.c
security/keys/keyring.c
security/keys/process_keys.c
Stephen Rothwell [Thu, 1 Nov 2012 02:00:53 +0000 (13:00 +1100)]
Merge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:59:01 +0000 (12:59 +1100)]
Merge remote-tracking branch 'md/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:51:41 +0000 (12:51 +1100)]
Merge remote-tracking branch 'slab/for-next'
Conflicts:
mm/slob.c
Stephen Rothwell [Thu, 1 Nov 2012 01:45:38 +0000 (12:45 +1100)]
Merge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:43:59 +0000 (12:43 +1100)]
Merge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:42:14 +0000 (12:42 +1100)]
Merge branch 'quilt/device-mapper'
Stephen Rothwell [Thu, 1 Nov 2012 01:40:34 +0000 (12:40 +1100)]
Merge remote-tracking branch 'block/for-next'
Conflicts:
drivers/block/floppy.c
init/Kconfig
Stephen Rothwell [Thu, 1 Nov 2012 01:36:10 +0000 (12:36 +1100)]
Merge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:34:32 +0000 (12:34 +1100)]
Merge remote-tracking branch 'input/next'
Stephen Rothwell [Thu, 1 Nov 2012 01:32:55 +0000 (12:32 +1100)]
Merge remote-tracking branch 'virtio/virtio-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:26:07 +0000 (12:26 +1100)]
Merge remote-tracking branch 'modules/modules-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:24:21 +0000 (12:24 +1100)]
Merge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:22:32 +0000 (12:22 +1100)]
Merge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 01:20:49 +0000 (12:20 +1100)]
Merge remote-tracking branch 'crypto/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:19:11 +0000 (12:19 +1100)]
Merge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:17:35 +0000 (12:17 +1100)]
Merge remote-tracking branch 'mtd/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:15:56 +0000 (12:15 +1100)]
Merge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:13:48 +0000 (12:13 +1100)]
Merge remote-tracking branch 'wireless-next/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:09:50 +0000 (12:09 +1100)]
Merge remote-tracking branch 'net-next/master'
Stephen Rothwell [Thu, 1 Nov 2012 01:05:52 +0000 (12:05 +1100)]
Merge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Thu, 1 Nov 2012 01:04:03 +0000 (12:04 +1100)]
Merge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:58:55 +0000 (11:58 +1100)]
Merge remote-tracking branch 'swiotlb/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:57:18 +0000 (11:57 +1100)]
Merge remote-tracking branch 'ubi/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:55:40 +0000 (11:55 +1100)]
Merge remote-tracking branch 'thermal/next'
Stephen Rothwell [Thu, 1 Nov 2012 00:55:33 +0000 (11:55 +1100)]
Merge remote-tracking branch 'cpuidle/cpuidle-next'
Conflicts:
drivers/cpuidle/coupled.c
include/linux/cpuidle.h
Stephen Rothwell [Thu, 1 Nov 2012 00:49:03 +0000 (11:49 +1100)]
Merge remote-tracking branch 'acpi/next'
Stephen Rothwell [Thu, 1 Nov 2012 00:48:51 +0000 (11:48 +1100)]
Merge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:46:59 +0000 (11:46 +1100)]
Merge commit 'refs/next/
20121026 /v4l-dvb'
Stephen Rothwell [Thu, 1 Nov 2012 00:44:35 +0000 (11:44 +1100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:43:07 +0000 (11:43 +1100)]
Merge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Thu, 1 Nov 2012 00:41:38 +0000 (11:41 +1100)]
Merge branch 'quilt/i2c'
Stephen Rothwell [Thu, 1 Nov 2012 00:40:02 +0000 (11:40 +1100)]
Merge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:38:32 +0000 (11:38 +1100)]
Merge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:36:57 +0000 (11:36 +1100)]
Merge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:35:23 +0000 (11:35 +1100)]
Merge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:35:16 +0000 (11:35 +1100)]
Merge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:33:25 +0000 (11:33 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:31:51 +0000 (11:31 +1100)]
Merge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:30:13 +0000 (11:30 +1100)]
Merge remote-tracking branch 'logfs/master'
Stephen Rothwell [Thu, 1 Nov 2012 00:28:38 +0000 (11:28 +1100)]
Merge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Thu, 1 Nov 2012 00:26:57 +0000 (11:26 +1100)]
Merge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:25:19 +0000 (11:25 +1100)]
Merge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:23:43 +0000 (11:23 +1100)]
Merge remote-tracking branch 'ceph/master'
Stephen Rothwell [Thu, 1 Nov 2012 00:22:13 +0000 (11:22 +1100)]
Merge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Thu, 1 Nov 2012 00:20:46 +0000 (11:20 +1100)]
Merge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Thu, 1 Nov 2012 00:19:14 +0000 (11:19 +1100)]
Merge remote-tracking branch 's390/features'
Stephen Rothwell [Thu, 1 Nov 2012 00:17:39 +0000 (11:17 +1100)]
Merge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Thu, 1 Nov 2012 00:17:36 +0000 (11:17 +1100)]
Merge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:16:06 +0000 (11:16 +1100)]
Merge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Thu, 1 Nov 2012 00:14:33 +0000 (11:14 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Thu, 1 Nov 2012 00:13:00 +0000 (11:13 +1100)]
Merge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Thu, 1 Nov 2012 00:11:31 +0000 (11:11 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'