title: how to interpret perf iTLB-loads,iTLB-load-misses
body: <p>I have a test case to observe perf  iTLB-loads,iTLB-load-misses  by </p>
  
  <pre><code>perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses -p 22479
  </code></pre>
  
  <p>and get the output :</p>
  
  <p>Performance counter stats for process id '22479':</p>
  
  <pre><code>     1,262,817      dTLB-loads                                                  
          13,950      dTLB-load-misses          #    1.10% of all dTLB cache hits 
              75      iTLB-loads                                                  
           6,882      iTLB-load-misses          # 9176.00% of all iTLB cache hits 
  
     3.999720948 seconds time elapsed
  </code></pre>
  
  <p>I have no idea how to interpret  iTLB-loads only 75 but iTLB-load-misses 6,882 ?!</p>
  
  <p>lscpu showes : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz</p>
  
  <p>Edit :  </p>
  
  <p>May I interpret it as  the following :</p>
  
  <p>do (75+6882) times of iTLB-loads , there are 75 times hits but 6882 times misses ?</p>
  
  <p>Edit :</p>
  
  <pre><code>ocperf.py list | wc -l
  Downloading https://download.01.org/perfmon/mapfile.csv to mapfile.csv
  
  Traceback (most recent call last):
  File "/home/marschen/tools/pmu-tools-master/ocperf.py", line 1012, in &lt;module&gt;
  emap = find_emap()
  File "/home/marschen/tools/pmu-tools-master/ocperf.py", line 831, in find_emap
  event_download.download(el, toget)
  File "/home/marschen/tools/pmu-tools-master/event_download.py", line 105, in download
  getfile(modelpath, dir, "mapfile.csv")
  File "/home/marschen/tools/pmu-tools-master/event_download.py", line 86, in getfile
  f = urlopen(url)
  File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
  return opener.open(url, data, timeout)
  File "/usr/lib64/python2.7/urllib2.py", line 431, in open
  response = self._open(req, data)
  File "/usr/lib64/python2.7/urllib2.py", line 449, in _open
  '_open', req)
  File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
  result = func(*args)
  File "/usr/lib64/python2.7/urllib2.py", line 1258, in https_open
  context=self._context, check_hostname=self._check_hostname)
  File "/usr/lib64/python2.7/urllib2.py", line 1211, in do_open
  h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib64/python2.7/httplib.py", line 1017, in request
  self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.7/httplib.py", line 1051, in _send_request
  self.endheaders(body)
  File "/usr/lib64/python2.7/httplib.py", line 1013, in endheaders
  self._send_output(message_body)
  File "/usr/lib64/python2.7/httplib.py", line 864, in _send_output
  self.send(msg)
  File "/usr/lib64/python2.7/httplib.py", line 826, in send
  self.connect()
  File "/usr/lib64/python2.7/httplib.py", line 1227, in connect
  HTTPConnection.connect(self)
  File "/usr/lib64/python2.7/httplib.py", line 807, in connect
  self.timeout, self.source_address)
  File "/usr/lib64/python2.7/socket.py", line 562, in create_connection
  sock.connect(sa)
  File "/usr/lib64/python2.7/socket.py", line 224, in meth
  return getattr(self._sock,name)(*args)
  </code></pre>