1*433d6423SLionel Sambuc#!/usr/local/bin/perl 2*433d6423SLionel Sambuc 3*433d6423SLionel Sambuc$SAMPLE_SZ = 12; 4*433d6423SLionel Sambuc 5*433d6423SLionel Sambuc$file = shift; 6*433d6423SLionel Sambuc 7*433d6423SLionel Sambucopen (FILE, $file) or die ("Unable to open $file: $!"); 8*433d6423SLionel Sambuc 9*433d6423SLionel Sambuc$_ = <FILE>; 10*433d6423SLionel Sambuc 11*433d6423SLionel Sambucuntil (eof(FILE)) { 12*433d6423SLionel Sambuc read(FILE, $buf, $SAMPLE_SZ) == $SAMPLE_SZ or die ("Short read."); 13*433d6423SLionel Sambuc ($exe, $pc) = unpack("A8i", $buf); 14*433d6423SLionel Sambuc 15*433d6423SLionel Sambuc # System and clock task are in kernel image. 16*433d6423SLionel Sambuc# $exe =~ s/^system/kernel/; 17*433d6423SLionel Sambuc# $exe =~ s/^clock/kernel/; 18*433d6423SLionel Sambuc 19*433d6423SLionel Sambuc # Memory has p_name "mem" in kernel. 20*433d6423SLionel Sambuc# $exe =~ s/^mem/memory/; 21*433d6423SLionel Sambuc 22*433d6423SLionel Sambuc $pcs{$pc}++ if ($exe eq "fs"); 23*433d6423SLionel Sambuc} 24*433d6423SLionel Sambuc 25*433d6423SLionel Sambucforeach $pc (sort { $a <=> $b } keys %pcs) { 26*433d6423SLionel Sambuc print "$pc $pcs{$pc}\n"; 27*433d6423SLionel Sambuc} 28