Commit ed7ce0f1 authored by Wu Fengguang's avatar Wu Fengguang Committed by Linus Torvalds

proc: kpagecount/kpageflags code cleanup

Move increments of pfn/out to bottom of the loop.
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andi Kleen <andi@firstfloor.org>
Acked-by: default avatarMatt Mackall <mpm@selenic.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 20a0307c
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#define KPMSIZE sizeof(u64) #define KPMSIZE sizeof(u64)
#define KPMMASK (KPMSIZE - 1) #define KPMMASK (KPMSIZE - 1)
/* /proc/kpagecount - an array exposing page counts /* /proc/kpagecount - an array exposing page counts
* *
* Each entry is a u64 representing the corresponding * Each entry is a u64 representing the corresponding
...@@ -33,20 +34,22 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf, ...@@ -33,20 +34,22 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf,
return -EINVAL; return -EINVAL;
while (count > 0) { while (count > 0) {
ppage = NULL;
if (pfn_valid(pfn)) if (pfn_valid(pfn))
ppage = pfn_to_page(pfn); ppage = pfn_to_page(pfn);
pfn++; else
ppage = NULL;
if (!ppage) if (!ppage)
pcount = 0; pcount = 0;
else else
pcount = page_mapcount(ppage); pcount = page_mapcount(ppage);
if (put_user(pcount, out++)) { if (put_user(pcount, out)) {
ret = -EFAULT; ret = -EFAULT;
break; break;
} }
pfn++;
out++;
count -= KPMSIZE; count -= KPMSIZE;
} }
...@@ -99,10 +102,10 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf, ...@@ -99,10 +102,10 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf,
return -EINVAL; return -EINVAL;
while (count > 0) { while (count > 0) {
ppage = NULL;
if (pfn_valid(pfn)) if (pfn_valid(pfn))
ppage = pfn_to_page(pfn); ppage = pfn_to_page(pfn);
pfn++; else
ppage = NULL;
if (!ppage) if (!ppage)
kflags = 0; kflags = 0;
else else
...@@ -120,11 +123,13 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf, ...@@ -120,11 +123,13 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf,
kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) | kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) |
kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy); kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy);
if (put_user(uflags, out++)) { if (put_user(uflags, out)) {
ret = -EFAULT; ret = -EFAULT;
break; break;
} }
pfn++;
out++;
count -= KPMSIZE; count -= KPMSIZE;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment