1. 11 Jun, 2015 18 commits
  2. 10 Jun, 2015 1 commit
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Add trace point for tracking hash pte fault · cfcb3d80
      Aneesh Kumar K.V authored
      This enables us to understand how many hash fault we are taking
      when running benchmarks.
      
      For ex:
      -bash-4.2# ./perf stat -e  powerpc:hash_fault -e page-faults /tmp/ebizzy.ppc64 -S 30  -P -n 1000
      ...
      
       Performance counter stats for '/tmp/ebizzy.ppc64 -S 30 -P -n 1000':
      
             1,10,04,075      powerpc:hash_fault
             1,10,03,429      page-faults
      
            30.865978991 seconds time elapsed
      
      NOTE:
      The impact of the tracepoint was not noticeable when running test. It was
      within the run-time variance of the test. For ex:
      
      without-patch:
      --------------
      
       Performance counter stats for './a.out 3000 300':
      
      	       643      page-faults               #    0.089 M/sec
      	  7.236562      task-clock (msec)         #    0.928 CPUs utilized
      	 2,179,213      stalled-cycles-frontend   #    0.00% frontend cycles idle
      	17,174,367      stalled-cycles-backend    #    0.00% backend  cycles idle
      		 0      context-switches          #    0.000 K/sec
      
             0.007794658 seconds time elapsed
      
      And with-patch:
      ---------------
      
       Performance counter stats for './a.out 3000 300':
      
      	       643      page-faults               #    0.089 M/sec
      	  7.233746      task-clock (msec)         #    0.921 CPUs utilized
      		 0      context-switches          #    0.000 K/sec
      
             0.007854876 seconds time elapsed
      
       Performance counter stats for './a.out 3000 300':
      
      	       643      page-faults               #    0.087 M/sec
      	       649      powerpc:hash_fault        #    0.087 M/sec
      	  7.430376      task-clock (msec)         #    0.938 CPUs utilized
      	 2,347,174      stalled-cycles-frontend   #    0.00% frontend cycles idle
      	17,524,282      stalled-cycles-backend    #    0.00% backend  cycles idle
      		 0      context-switches          #    0.000 K/sec
      
             0.007920284 seconds time elapsed
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      cfcb3d80
  3. 07 Jun, 2015 15 commits
  4. 04 Jun, 2015 5 commits
  5. 03 Jun, 2015 1 commit
    • Michael Neuling's avatar
      cxl: Add AFU virtual PHB and kernel API · 6f7f0b3d
      Michael Neuling authored
      This patch does two things.
      
      Firstly it presents the Accelerator Function Unit (AFUs) behind the POWER
      Service Layer (PSL) as PCI devices on a virtual PCI Host Bridge (vPHB).  This
      in in addition to the PSL being a PCI device itself.
      
      As part of the Coherent Accelerator Interface Architecture (CAIA) AFUs can
      provide an AFU configuration.  This AFU configuration recored is architected to
      be the same as a PCI config space.
      
      This patch sets discovers the AFU configuration records, provides AFU config
      space read/write functions to these configuration records.  It then enumerates
      the PCI bus.  It also hooks in PCI ops where appropriate.  It also destroys the
      vPHB when the physical card is removed.
      
      Secondly, it add an in kernel API for AFU to use CXL.  AFUs must present a
      driver that firstly binds as a PCI device.  This PCI device can then be using
      to do CXL specific operations (that can't sit in the PCI ops) using this API.
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Acked-by: default avatarIan Munsie <imunsie@au1.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      6f7f0b3d