Commit 6fd6b17c authored by Linus Torvalds's avatar Linus Torvalds

Revert "[PATCH] mm: micro optimise zone_watermark_ok"

This reverts commit e80ee884.

Pawel Sikora had a boot-time oops due to it - because the sign change
invalidates the following comparisons, since 'free_pages' can be
negative.

The micro-optimization just isn't worth it.
Bisected-by: default avatarPawel Sikora <pluto@agmk.net>
Acked-by: default avatarAndrew Morton <akpm@osdl.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent f56df2f4
...@@ -989,8 +989,7 @@ int zone_watermark_ok(struct zone *z, int order, unsigned long mark, ...@@ -989,8 +989,7 @@ int zone_watermark_ok(struct zone *z, int order, unsigned long mark,
int classzone_idx, int alloc_flags) int classzone_idx, int alloc_flags)
{ {
/* free_pages my go negative - that's OK */ /* free_pages my go negative - that's OK */
unsigned long min = mark; long min = mark, free_pages = z->free_pages - (1 << order) + 1;
long free_pages = z->free_pages - (1 << order) + 1;
int o; int o;
if (alloc_flags & ALLOC_HIGH) if (alloc_flags & ALLOC_HIGH)
......
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