arm64: dts: ls1028a: add missing CAN nodes
[linux-2.6-microblaze.git] / mm / vmscan.c
index 466fc31..1b8f0e0 100644 (file)
@@ -699,6 +699,9 @@ void drop_slab_node(int nid)
        do {
                struct mem_cgroup *memcg = NULL;
 
+               if (fatal_signal_pending(current))
+                       return;
+
                freed = 0;
                memcg = mem_cgroup_iter(NULL, NULL, NULL);
                do {
@@ -722,8 +725,7 @@ static inline int is_page_cache_freeable(struct page *page)
         * that isolated the page, the page cache and optional buffer
         * heads at page->private.
         */
-       int page_cache_pins = PageTransHuge(page) && PageSwapCache(page) ?
-               HPAGE_PMD_NR : 1;
+       int page_cache_pins = thp_nr_pages(page);
        return page_count(page) - page_has_private(page) == 1 + page_cache_pins;
 }
 
@@ -1751,7 +1753,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
  * Restrictions:
  *
  * (1) Must be called with an elevated refcount on the page. This is a
- *     fundamentnal difference from isolate_lru_pages (which is called
+ *     fundamental difference from isolate_lru_pages (which is called
  *     without a stable reference).
  * (2) the lru_lock must not be held.
  * (3) interrupts must be enabled.
@@ -2237,7 +2239,7 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
        struct mem_cgroup *memcg = lruvec_memcg(lruvec);
        unsigned long anon_cost, file_cost, total_cost;
        int swappiness = mem_cgroup_swappiness(memcg);
-       u64 fraction[2];
+       u64 fraction[ANON_AND_FILE];
        u64 denominator = 0;    /* gcc */
        enum scan_balance scan_balance;
        unsigned long ap, fp;