#!/bin/sh
# DF-2675 run helper: find newly-present consecutive PTE runs >= 17 pages
# usage: runs17.sh snap1.txt snap2.txt
sort "$1" > /tmp/_s1; sort "$2" > /tmp/_s2
comm -13 /tmp/_s1 /tmp/_s2 | awk '{print $1}' > /tmp/_new
awk '
{ vas[NR] = $1 }
END {
  run = 1;
  for (i = 2; i <= NR; i++) {
    if (vas[i] == vas[i-1] + 4096) {
      run++;
    } else {
      if (run >= 17) printf "RUN %d pages: %llx .. %llx\n", run, run_start, vas[i-1];
      run = 1; run_start = vas[i];
    }
    if (run == 1) run_start = vas[i];
  }
  if (run >= 17) printf "RUN %d pages: %llx .. %llx\n", run, run_start, vas[NR];
}' /tmp/_new
