Revision 0dcc48c15f63ee86c2fcd33968b08d651f0360a5 authored by KAMEZAWA Hiroyuki on 09 September 2010, 23:38:01 UTC, committed by Linus Torvalds on 10 September 2010, 01:57:24 UTC
next_active_pageblock() is for finding next _used_ freeblock.  It skips
several blocks when it finds there are a chunk of free pages lager than
pageblock.  But it has 2 bugs.

  1. We have no lock. page_order(page) - pageblock_order can be minus.
  2. pageblocks_stride += is wrong. it should skip page_order(p) of pages.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent bc69304
History
File Mode Size
Kconfig -rw-r--r-- 2.5 KB
Kconfig.iosched -rw-r--r-- 1.8 KB
Makefile -rw-r--r-- 592 bytes
blk-barrier.c -rw-r--r-- 8.6 KB
blk-cgroup.c -rw-r--r-- 26.8 KB
blk-cgroup.h -rw-r--r-- 8.0 KB
blk-core.c -rw-r--r-- 69.0 KB
blk-exec.c -rw-r--r-- 2.6 KB
blk-integrity.c -rw-r--r-- 10.0 KB
blk-ioc.c -rw-r--r-- 3.9 KB
blk-iopoll.c -rw-r--r-- 5.9 KB
blk-lib.c -rw-r--r-- 5.1 KB
blk-map.c -rw-r--r-- 8.1 KB
blk-merge.c -rw-r--r-- 10.6 KB
blk-settings.c -rw-r--r-- 25.1 KB
blk-softirq.c -rw-r--r-- 4.1 KB
blk-sysfs.c -rw-r--r-- 14.0 KB
blk-tag.c -rw-r--r-- 9.9 KB
blk-timeout.c -rw-r--r-- 5.6 KB
blk.h -rw-r--r-- 4.6 KB
bsg.c -rw-r--r-- 23.5 KB
cfq-iosched.c -rw-r--r-- 101.7 KB
cfq.h -rw-r--r-- 3.6 KB
compat_ioctl.c -rw-r--r-- 21.0 KB
deadline-iosched.c -rw-r--r-- 11.4 KB
elevator.c -rw-r--r-- 25.1 KB
genhd.c -rw-r--r-- 29.9 KB
ioctl.c -rw-r--r-- 8.0 KB
noop-iosched.c -rw-r--r-- 2.6 KB
scsi_ioctl.c -rw-r--r-- 18.0 KB

back to top