int order,
                unsigned long nr_requested,
                unsigned long nr_scanned,
+               unsigned long nr_skipped,
                unsigned long nr_taken,
                isolate_mode_t isolate_mode,
                int file),
 
-       TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken, isolate_mode, file),
+       TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, file),
 
        TP_STRUCT__entry(
                __field(int, classzone_idx)
                __field(int, order)
                __field(unsigned long, nr_requested)
                __field(unsigned long, nr_scanned)
+               __field(unsigned long, nr_skipped)
                __field(unsigned long, nr_taken)
                __field(isolate_mode_t, isolate_mode)
                __field(int, file)
                __entry->order = order;
                __entry->nr_requested = nr_requested;
                __entry->nr_scanned = nr_scanned;
+               __entry->nr_skipped = nr_skipped;
                __entry->nr_taken = nr_taken;
                __entry->isolate_mode = isolate_mode;
                __entry->file = file;
        ),
 
-       TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu file=%d",
+       TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu file=%d",
                __entry->isolate_mode,
                __entry->classzone_idx,
                __entry->order,
                __entry->nr_requested,
                __entry->nr_scanned,
+               __entry->nr_skipped,
                __entry->nr_taken,
                __entry->file)
 );
 
        unsigned long nr_taken = 0;
        unsigned long nr_zone_taken[MAX_NR_ZONES] = { 0 };
        unsigned long nr_skipped[MAX_NR_ZONES] = { 0, };
+       unsigned long skipped = 0, total_skipped = 0;
        unsigned long scan, nr_pages;
        LIST_HEAD(pages_skipped);
 
         */
        if (!list_empty(&pages_skipped)) {
                int zid;
-               unsigned long total_skipped = 0;
 
                for (zid = 0; zid < MAX_NR_ZONES; zid++) {
                        if (!nr_skipped[zid])
                                continue;
 
                        __count_zid_vm_events(PGSCAN_SKIP, zid, nr_skipped[zid]);
-                       total_skipped += nr_skipped[zid];
+                       skipped += nr_skipped[zid];
                }
 
                /*
                 * close to unreclaimable. If the LRU list is empty, account
                 * skipped pages as a full scan.
                 */
-               scan += list_empty(src) ? total_skipped : total_skipped >> 2;
+               total_skipped = list_empty(src) ? skipped : skipped >> 2;
 
                list_splice(&pages_skipped, src);
        }
-       *nr_scanned = scan;
-       trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, nr_to_scan, scan,
-                                   nr_taken, mode, is_file_lru(lru));
+       *nr_scanned = scan + total_skipped;
+       trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, nr_to_scan,
+                                   scan, skipped, nr_taken, mode,
+                                   is_file_lru(lru));
        update_lru_sizes(lruvec, lru, nr_zone_taken);
        return nr_taken;
 }