Added quantiling UDAFs
[com/gs-lite.git] / bin / pin_processes.pl
1 #! /usr/bin/perl\r
2 \r
3 # ------------------------------------------------\r
4 #   Copyright 2014 AT&T Intellectual Property\r
5 #   Licensed under the Apache License, Version 2.0 (the "License");\r
6 #   you may not use this file except in compliance with the License.\r
7 #   You may obtain a copy of the License at\r
8 #\r
9 #     http://www.apache.org/licenses/LICENSE-2.0\r
10 #\r
11 #   Unless required by applicable law or agreed to in writing, software\r
12 #   distributed under the License is distributed on an "AS IS" BASIS,\r
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14 #   See the License for the specific language governing permissions and\r
15 #   limitations under the License.\r
16 # -------------------------------------------\r
17 \r
18 \r
19 $infl = "/var/log/gstrace";\r
20 \r
21 if(scalar(@ARGV)>0){\r
22         $infl = $ARGV[0];\r
23 }\r
24 \r
25 open I,$infl or die "Can't open input log file $infl\n";\r
26 \r
27 %rts_pids= ();\r
28 %hfta_pids = ();\r
29 while($line=<I>){\r
30         if($line =~ /rts:\[.*\]: Started Logging/){\r
31                 %rts_pids= ();\r
32                 %hfta_pids = ();\r
33         }\r
34         if($line =~ /hfta_(\d+):\[(\d+)\]: Started Logging/){\r
35                 $name = "hfta_" . $1;\r
36                 $hfta_pids{$name} = $2;\r
37         }\r
38         if($line =~ /rts:\[(\d+)\]: Init LFTAs for (\w+)/){\r
39                 $name = "rts " . $2;\r
40                 $rts_pids{$name} = $1;\r
41         }\r
42 }\r
43 \r
44 #foreach $k (keys(%rts_pids)){\r
45 #       print "$k, ",$rts_pids{$k},"\n";\r
46 #}\r
47 #foreach $k (keys(%hfta_pids)){\r
48 #       print "$k, ",$hfta_pids{$k},"\n";\r
49 #}\r
50                 \r
51 open C,"pinning_info.csv" or die "Can't open pinning_info.csv\n";\r
52 \r
53 while($line=<C>){\r
54         chomp($line);\r
55         @flds = split /,/,$line;\r
56         if(exists($rts_pids{$flds[0]})){\r
57                 $pinning_cmd = "taskset -pc $flds[1] ". $rts_pids{$flds[0]};\r
58         }\r
59         if(exists($hfta_pids{$flds[0]})){\r
60                 $pinning_cmd = "taskset -pc $flds[1] ". $hfta_pids{$flds[0]};\r
61         }\r
62         print "Executing $pinning_cmd\n";\r
63         system($pinning_cmd);\r
64 }\r
65 \r