1*af198995SDavid du ColombierExample from T.txt (mk all) 2*af198995SDavid du Colombiertrace for pid 195 3*af198995SDavid du Colombier>awk '$2 == 195' 4*af198995SDavid du Colombier 5*af198995SDavid du Colombiernumber of page faults 6*af198995SDavid du Colombier>awk '$2 == 195 && $6 == "pfault"' | wc -l 7*af198995SDavid du Colombier500 8*af198995SDavid du Colombier 9*af198995SDavid du Colombiernumber of sleeps 10*af198995SDavid du Colombier>awk '$2 == 195 && $5 == "Sleep"' | wc -l 11*af198995SDavid du Colombier197 12*af198995SDavid du Colombier 13*af198995SDavid du Colombiernumber of core switches 14*af198995SDavid du Colombierawk 'BEGIN{nsw = 0; last = -3;} 15*af198995SDavid du Colombier $2 == 195 {if($3 != last) nsw++; last=$3} 16*af198995SDavid du Colombier END{print nsw}' <T.txt 17*af198995SDavid du Colombier217 18*af198995SDavid du Colombier 19*af198995SDavid du Colombiernumber of acpi domain switches 20*af198995SDavid du Colombierawk 'BEGIN{nsw = 0; last = -3;} 21*af198995SDavid du Colombier $2 == 195 {if($3%8 != last%8) nsw++; last=$3} 22*af198995SDavid du Colombier END{print nsw}' <T.txt 23*af198995SDavid du Colombier188 24*af198995SDavid du Colombier 25*af198995SDavid du Colombiertimes from ready to run 26*af198995SDavid du Colombierawk 'BEGIN{nsw = 0; last = -3;} 27*af198995SDavid du Colombier $2 != 195 {next} 28*af198995SDavid du Colombier $6 == "Ready" {stime = $0; ln = NR} 29*af198995SDavid du Colombier $6 == "Run" {if(stime) print $0 - stime, ln, NR; stime = 0} ' <ptrace.out | 30*af198995SDavid du Colombier sort -nr 31*af198995SDavid du Colombier69695 T.txt:918 930 32*af198995SDavid du Colombier43670 15110 15111 33*af198995SDavid du Colombier38796 324 325 34*af198995SDavid du Colombier36930 2172 2173 35*af198995SDavid du Colombier 36*af198995SDavid du Colombierwhich gives 37*af198995SDavid du Colombier 0s 287m 326µ 512n 195 00 mk Ready Ready 4 287326512 0x0 38*af198995SDavid du Colombier 0s 287m 370µ 182n 195 21 mk Run Run 3 287370182 0x0 39*af198995SDavid du Colombieras the top. 40*af198995SDavid du Colombieri.e. core 0 makes it ready, and core 21 picks it 69.695µs laters. 41*af198995SDavid du Colombier 42*af198995SDavid du Colombiertimes for sleeps, and line numbers in the trace for the sleep and wakeup 43*af198995SDavid du Colombiersorted 44*af198995SDavid du Colombierawk 'BEGIN{nsw = 0; last = -3;} 45*af198995SDavid du Colombier $2 != 195 {next} 46*af198995SDavid du Colombier $5 == "Sleep" {stime = $0; ln = NR} 47*af198995SDavid du Colombier $5 == "Ready" {print $0 - stime, ln, NR} ' <T.txt | sort -nr 48*af198995SDavid du Colombier 49*af198995SDavid du ColombierThis gives: 50*af198995SDavid du Colombier381601037 15175 19811 51*af198995SDavid du Colombier140216350 10518 15064 52*af198995SDavid du Colombier58225471 6569 9619 53*af198995SDavid du Colombier... 54*af198995SDavid du Colombier 55*af198995SDavid du Colombierwhich is 56*af198995SDavid du Colombier 0s 288m 716µ 164n 195 03 mk Sleep await ... 57*af198995SDavid du Colombier 0s 288m 717µ 848n 195 03 mk Sleep Wakeme pc 0xfffffff017e1ac ... 58*af198995SDavid du Colombier 59*af198995SDavid du ColombierThus most of the time it's waiting for children, as expected. 60