diff --git a/tests/workloads/capture.sh b/tests/workloads/capture.sh
index 721fe8c..3b2f446 100755
--- a/tests/workloads/capture.sh
+++ b/tests/workloads/capture.sh
Binary files differ
diff --git a/tests/workloads/defs.sh b/tests/workloads/defs.sh
index ba820fd..dbed4dd 100755
--- a/tests/workloads/defs.sh
+++ b/tests/workloads/defs.sh
Binary files differ
diff --git a/tests/workloads/recentfling.sh b/tests/workloads/recentfling.sh
index 68fdb2f..092c8d9 100755
--- a/tests/workloads/recentfling.sh
+++ b/tests/workloads/recentfling.sh
@@ -44,6 +44,12 @@
 	upCount=6
 	UP="70 400 70 100 $flingtime"
 	DOWN="70 100 70 400 $flingtime";;
+(bullhead)
+	flingtime=200
+	downCount=5
+	upCount=5
+	UP="500 1200 500 550 $flingtime"
+	DOWN="500 550 500 1200 $flingtime";;
 (volantis)
 	flingtime=400
 	downCount=5
@@ -66,20 +72,6 @@
 	done
 fi
 
-cur=1
-
-set -- $(getJankyFrames)
-totalFrames=$1
-jankyFrames=$2
-frameSum=0
-jankSum=0
-
-if [ ${totalFrames:=0} -eq 0 ]; then
-#echo Error: could not read frame info with \"dumpsys graphicsstats\"
-	echo Error: could not read frame info with \"dumpsys gfxinfo\"
-	exit 1
-fi
-
 function swipe {
 	count=0
 	while [ $count -lt $2 ]
@@ -89,14 +81,25 @@
 	done
 }
 
+cur=1
+frameSum=0
+jankSum=0
+latency90Sum=0
+latency95Sum=0
+latency99Sum=0
+
 echo Fling recents...
-doKeyevent APP_SWITCH
+doKeyevent HOME
+sleep 0.5
+resetJankyFrames
 
 while [ $cur -le $iterations ]
 do
 	if [ $capturesystrace -gt 0 ]; then
 		${ADB}atrace --async_start -z -c -b 16000 freq gfx view idle sched
 	fi
+	doKeyevent APP_SWITCH
+	sleep 0.5
 	swipe "$DOWN" $downCount
 	sleep 1
 	swipe "$UP" $upCount
@@ -108,25 +111,40 @@
 	if [ $capturesystrace -gt 0 ]; then
 		${ADB}atrace --async_dump -z -c -b 16000 freq gfx view idle sched > trace.${cur}.out
 	fi
+	doKeyevent HOME
+	sleep 0.5
 
 	set -- $(getJankyFrames)
-	newTotalFrames=$1
-	newJankyFrames=$2
-	((totalDiff=newTotalFrames-totalFrames))
+	totalDiff=$1
+	jankyDiff=$2
+	latency90=$3
+	latency95=$4
+	latency99=$5
+	if [ ${totalDiff:=0} -eq 0 ]; then
+		echo Error: could not read frame info with \"dumpsys gfxinfo\"
+		exit 1
+	fi
+
 	((frameSum=frameSum+totalDiff))
-	((jankyDiff=newJankyFrames-jankyFrames))
 	((jankSum=jankSum+jankyDiff))
+	((latency90Sum=latency90Sum+latency90))
+	((latency95Sum=latency95Sum+latency95))
+	((latency99Sum=latency99Sum+latency99))
 	if [ "$totalDiff" -eq 0 ]; then
 		echo Error: no frames detected. Is the display off?
 		exit 1
 	fi
 	((jankPct=jankyDiff*100/totalDiff))
-	totalFrames=$newTotalFrames
-	jankyFrames=$newJankyFrames
+	resetJankyFrames
 
-	echo Frames: $totalDiff Janks: $jankyDiff \(${jankPct}%\)
+	echo Frames: $totalDiff latency: $latency90/$latency95/$latency99 Janks: $jankyDiff\(${jankPct}%\)
 	((cur=cur+1))
 done
 doKeyevent HOME
 ((aveJankPct=jankSum*100/frameSum))
-echo AVE: Frames: $frameSum Janks: $jankSum \(${aveJankPct}%\)
+((aveJanks=jankSum/iterations))
+((aveFrames=frameSum/iterations))
+((aveLatency90=latency90Sum/iterations))
+((aveLatency95=latency95Sum/iterations))
+((aveLatency99=latency99Sum/iterations))
+echo AVE: Frames: $aveFrames latency: $aveLatency90/$aveLatency95/$aveLatency99 Janks: $aveJanks\(${aveJankPct}%\)
diff --git a/tests/workloads/systemapps.sh b/tests/workloads/systemapps.sh
index 184c4ee..bd97148 100755
--- a/tests/workloads/systemapps.sh
+++ b/tests/workloads/systemapps.sh
@@ -74,6 +74,9 @@
 	reclaim=$4
 	frames=$5
 	janks=$6
+	l90=$7
+	l95=$8
+	l99=$9
 	curMax=$(eval "echo \$${label}max")
 	curMax=${curMax:=0}
 	curMin=$(eval "echo \$${label}min")
@@ -88,6 +91,12 @@
 	curFrames=${curFrames:=0}
 	curJanks=$(eval "echo \$${label}janks")
 	curJanks=${curJanks:=0}
+	cur90=$(eval "echo \$${label}90")
+	cur90=${cur90:=0}
+	cur95=$(eval "echo \$${label}95")
+	cur95=${cur95:=0}
+	cur99=$(eval "echo \$${label}99")
+	cur99=${cur99:=0}
 	if [ $curMax -lt $t ]; then
 		eval "${label}max=$t"
 	fi
@@ -105,12 +114,19 @@
 	eval "${label}frames=$curFrames"
 	((curJanks=curJanks+${janks:=0}))
 	eval "${label}janks=$curJanks"
+	((cur90=cur90+${l90:=0}))
+	eval "${label}90=$cur90"
+	((cur95=cur95+${l95:=0}))
+	eval "${label}95=$cur95"
+	((cur99=cur99+${l99:=0}))
+	eval "${label}99=$cur99"
 }
 function getStats {
 	label=$1
 	echo $(eval "echo \$${label}max") $(eval "echo \$${label}min") $(eval "echo \$${label}sum") \
 		$(eval "echo \$${label}restart") $(eval "echo \$${label}reclaim") \
-		$(eval "echo \$${label}frames") $(eval "echo \$${label}janks")
+		$(eval "echo \$${label}frames") $(eval "echo \$${label}janks") \
+		$(eval "echo \$${label}90") $(eval "echo \$${label}95") $(eval "echo \$${label}99")
 }
 
 cur=1
@@ -126,7 +142,7 @@
 	fi
 	if [ $iterations -gt 1 -o $cur -eq 1 ]; then
 		if [ $totaltimetest -eq 0 ]; then
-			printf "%-6s    %7s(ms)  %6s(ms) %s %s %s %s\n" App  Time AmTime Restart DirReclaim JankyFrames
+			printf "%-6s    %7s(ms)  %6s(ms) %s %s %s     %s\n" App  Time AmTime Restart DirReclaim Jank Latency
 		fi
 	fi
 
@@ -136,53 +152,77 @@
 		vout Starting $app...
 		((appnum=appnum+1))
 		loopTimestamp=$(date +"%s %N")
-		if [ $totaltimetest -gt 0 ]; then
-			# no instramentation, just cycle through the apps
-			if [ $appnum -eq 0 ]; then
-				printf "%-8s %5s(ms) %3s(ms)\n" App Start Iter
-			fi
-			if [ $forcecoldstart -eq 0 ]; then
-				t=$(startActivity $app)
-			else
-				t=$(forceStartActivity $app)
-			fi
-			loopEndTimestamp=$(date +"%s %N")
-			diffTime=$(computeTimeDiff $loopTimestamp $loopEndTimestamp)
-			# Note: "%d" doesn't work right if run on device
-			printf "%-10s %5.0f   %5.0f\n" $app $t $diffTime
-			((totaltime=totaltime+t))
-			continue
-		fi
-		tmpTraceOut="$tmpTraceOutBase-$app.out"
-		>$tmpTraceOut
-		startInstramentation
+		resetJankyFrames
 		resetJankyFrames $(getPackageName $app)
-		t=$(startActivity $app)
+		if [ $totaltimetest -eq 0 ]; then
+			tmpTraceOut="$tmpTraceOutBase-$app.out"
+			>$tmpTraceOut
+			startInstramentation
+		else
+			if [ $appnum -eq 0 ]; then
+				printf "%-8s %5s(ms) %3s(ms) %s      %s\n" App Start Iter Jank Latency
+			fi
+		fi
+		if [ $forcecoldstart -eq 0 ]; then
+			t=$(startActivity $app)
+		else
+			t=$(forceStartActivity $app)
+		fi
+
+		loopEndTimestamp=$(date +"%s %N")
+		diffTime=$(computeTimeDiff $loopTimestamp $loopEndTimestamp)
 		# let app finish drawing before checking janks
 		sleep 3
 		set -- $(getJankyFrames $(getPackageName $app))
 		frames=$1
 		janks=$2
-		((jankPct=100*janks/frames))
-		stopAndDumpInstramentation $tmpTraceOut
-		actName=$(getActivityName $app)
-		stime=$(getStartTime $actName $tmpTraceOut)
-		relaunch=$?
-		etime=$(getEndTime $actName $tmpTraceOut)
-		((tdiff=$etime-$stime))
-		if [ $etime -eq 0 -o $stime -eq 0 ]; then
-			handleError $app : could not compute start time stime=$stime  etime=$etime
-			# use AmTime so statistics make sense
-			tdiff=$t
+		l90=$3
+		l95=$4
+		l99=$5
+		set -- $(getJankyFrames)
+		systemFrames=$1
+		systemJanks=$2
+		s90=$3
+		s95=$4
+		s99=$5
+		((frames=frames+systemFrames))
+		((janks=janks+systemJanks))
+		((l90=l90+s90))
+		((l95=l95+s95))
+		((l99=l99+s99))
+		if [ $frames -eq 0 ]; then
+			janks=0
+			jankPct=0
+		else
+			((jankPct=100*janks/frames))
 		fi
-		checkForDirectReclaim $actName $tmpTraceOut
-		directReclaim=$?
+		if [ $totaltimetest -gt 0 ]; then
+			# Note: using %f since %d doesn't work correctly
+			# when running on lollipop
+			printf "%-10s %5.0f   %5.0f    %4.0f(%2.0f%%) %2.0f/%2.0f/%2.0f\n" $app $t $diffTime $janks $jankPct $l90 $l95 $l99
+			((totaltime=totaltime+t))
+			continue
+		else
+			stopAndDumpInstramentation $tmpTraceOut
+			actName=$(getActivityName $app)
+			stime=$(getStartTime $actName $tmpTraceOut)
+			relaunch=$?
+			etime=$(getEndTime $actName $tmpTraceOut)
+			((tdiff=$etime-$stime))
+			if [ $etime -eq 0 -o $stime -eq 0 ]; then
+				handleError $app : could not compute start time stime=$stime  etime=$etime
+				# use AmTime so statistics make sense
+				tdiff=$t
+			fi
+			checkForDirectReclaim $actName $tmpTraceOut
+			directReclaim=$?
 
-		printf "%-12s %5d     %5d     %5d    %5d    %5d(%d%%)\n" "$app" "$tdiff" "$t" "$relaunch" "$directReclaim" "$janks" "$jankPct"
-		computeStats "$app" "$tdiff" "$relaunch" "$directReclaim" "$frames" "$janks"
+			printf "%-12s %5d     %5d     %5d    %5d    %5d(%d%%) %d/%d/%d\n" "$app" "$tdiff" "$t" "$relaunch" "$directReclaim" "$janks" "$jankPct" $l90 $l95 $l99
+			computeStats "$app" "$tdiff" "$relaunch" "$directReclaim" "$frames" "$janks" $l90 $l95 $l99
 
-		if [ $savetmpfiles -eq 0 ]; then
-			rm -f $tmpTraceOut
+			if [ $savetmpfiles -eq 0 ]; then
+				rm -f $tmpTraceOut
+			fi
 		fi
 	done
 	((cur=cur+1))
@@ -198,7 +238,7 @@
 	echo =========================================
 	printf "Stats after $iterations iterations:\n"
 	echo =========================================
-	printf "%-6s    %7s(ms) %6s(ms) %6s(ms)    %s    %s %s %s\n" App Max Ave Min Restart DirReclaim JankyFrames
+	printf "%-6s    %7s(ms) %6s(ms) %6s(ms)    %s    %s %s     %s\n" App Max Ave Min Restart DirReclaim Jank Latency
 	for app in $appList
 	do
 		set -- $(getStats $app)
@@ -206,7 +246,13 @@
 		((ave=sum/iterations))
 		frames=$6
 		janks=$7
+		l90=$8
+		l95=$9
+		l99=${10}
+		((ave90=l90/iterations))
+		((ave95=l95/iterations))
+		((ave99=l99/iterations))
 		((jankPct=100*janks/frames))
-		printf "%-12s %5d      %5d      %5d      %5d      %5d     %5d(%d%%)\n" $app $1 $ave $2 $4 $5 $janks $jankPct
+		printf "%-12s %5d      %5d      %5d      %5d      %5d     %5d(%d%%) %d/%d/%d\n" $app $1 $ave $2 $4 $5 $janks $jankPct $ave90 $ave95 $ave99
 	done
 fi
