~ubuntu-branches/ubuntu/precise/linux-linaro-u8500/precise

« back to all changes in this revision

Viewing changes to mm/page_alloc.c

  • Committer: Bazaar Package Importer
  • Author(s): John Rigby, Upstream Fixes, Andy Green, John Rigby
  • Date: 2011-04-14 12:16:06 UTC
  • Revision ID: james.westby@ubuntu.com-20110414121606-b77podkyqgr2oix7
Tags: 2.6.38-1002.3
[ Upstream Fixes ]

* MUSB: shutdown: Make sure block is awake before doing shutdown
  - LP: #745737
* Fixed gpio polarity of gpio USB-phy reset.
  - LP: #747639

[ Andy Green ]

* LINARO: SAUCE: disable CONFIG_OMAP_RESET_CLOCKS
  - LP: #752900

[ John Rigby ]

* Rebase to new upstreams:
  Linux v2.6.38.1
  linaro-linux-2.6.38-upstream-29Mar2011
  Ubuntu-2.6.38-7.35
* SAUCE: OMAP4: clock: wait for module to become accessible on
  a clk enable
  - LP: #745737
* Rebase to new upstreams:
  Linux v2.6.38.2
  linaro-linux-2.6.38-upstream-5Apr2011
  Ubuntu-2.6.38-8.41
  - LP: #732842
* Update configs for device tree, dvfs and lttng
* LINARO: add building of dtb's
* LINARO: SAUCE: Disable lowest operating freqs on omap34xx
  - LP: #732912

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
#include <linux/compaction.h>
54
54
#include <trace/events/kmem.h>
55
55
#include <linux/ftrace_event.h>
 
56
#include <trace/page_alloc.h>
56
57
 
57
58
#include <asm/tlbflush.h>
58
59
#include <asm/div64.h>
129
130
int pageblock_order __read_mostly;
130
131
#endif
131
132
 
 
133
DEFINE_TRACE(page_alloc);
 
134
DEFINE_TRACE(page_free);
 
135
 
132
136
static void __free_pages_ok(struct page *page, unsigned int order);
133
137
 
134
138
/*
286
290
 
287
291
        /* Don't complain about poisoned pages */
288
292
        if (PageHWPoison(page)) {
289
 
                __ClearPageBuddy(page);
 
293
                reset_page_mapcount(page); /* remove PageBuddy */
290
294
                return;
291
295
        }
292
296
 
317
321
        dump_stack();
318
322
out:
319
323
        /* Leave bad fields for debug, except PageBuddy could make trouble */
320
 
        __ClearPageBuddy(page);
 
324
        reset_page_mapcount(page); /* remove PageBuddy */
321
325
        add_taint(TAINT_BAD_PAGE);
322
326
}
323
327
 
647
651
        trace_mm_page_free_direct(page, order);
648
652
        kmemcheck_free_shadow(page, order);
649
653
 
 
654
        trace_page_free(page, order);
 
655
 
650
656
        if (PageAnon(page))
651
657
                page->mapping = NULL;
652
658
        for (i = 0; i < (1 << order); i++)
2165
2171
        }
2166
2172
        return page;
2167
2173
got_pg:
 
2174
        trace_page_alloc(page, order);
2168
2175
        if (kmemcheck_enabled)
2169
2176
                kmemcheck_pagealloc_alloc(page, order, gfp_mask);
2170
2177
        return page;