1. 18 7月, 2016 1 次提交
  2. 12 7月, 2016 1 次提交
  3. 01 7月, 2016 1 次提交
  4. 07 6月, 2016 3 次提交
  5. 30 5月, 2016 2 次提交
    • B
      ppc: Do some batching of TCG tlb flushes · cd0c6f47
      Benjamin Herrenschmidt 提交于
      On ppc64 especially, we flush the tlb on any slbie or tlbie instruction.
      
      However, those instructions often come in bursts of 3 or more (context
      switch will favor a series of slbie's for example to an slbia if the
      SLB has less than a certain number of entries in it, and tlbie's can
      happen in a series, with PAPR, H_BULK_REMOVE can remove up to 4 entries
      at a time.
      
      Doing a tlb_flush() each time is a waste of time. We end up doing a memset
      of the whole TLB, reloading it for the next instruction, memset'ing again,
      etc...
      
      Those instructions don't have to take effect immediately. For slbie, they
      can wait for the next context synchronizing event. For tlbie, the next
      tlbsync.
      
      This implements batching by keeping a flag that indicates that we have a
      TLB in need of flushing. We check it on interrupts, rfi's, isync's and
      tlbsync and flush the TLB if needed.
      
      This reduces the number of tlb_flush() on a boot to a ubuntu installer
      first dialog screen from roughly 360K down to 36K.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      [clg: added a 'CPUPPCState *' variable in h_remove() and
            h_bulk_remove() ]
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      [dwg: removed spurious whitespace change, use 0/1 not true/false
            consistently, since tlb_need_flush has int type]
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      cd0c6f47
    • B
      ppc: Use split I/D mmu modes to avoid flushes on interrupts · 9fb04491
      Benjamin Herrenschmidt 提交于
      We rework the way the MMU indices are calculated, providing separate
      indices for I and D side based on MSR:IR and MSR:DR respectively,
      and thus no longer need to flush the TLB on context changes. This also
      adds correct support for HV as a separate address space.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      9fb04491
  6. 08 4月, 2014 1 次提交
  7. 14 3月, 2014 1 次提交
  8. 20 12月, 2013 1 次提交
    • A
      PPC: Add VSX to hflags · c2b63f03
      Alexander Graf 提交于
      We generate different code depending on whether MSR_VSX is set or
      clear, so it needs to be part of our hflags too which indicate whether
      we're still in the same translation block cache bucket.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      c2b63f03
  9. 12 3月, 2013 1 次提交
  10. 16 8月, 2009 1 次提交
  11. 17 7月, 2009 1 次提交
  12. 05 1月, 2009 1 次提交
  13. 21 10月, 2008 1 次提交
  14. 04 9月, 2008 1 次提交
  15. 18 11月, 2007 1 次提交
  16. 17 11月, 2007 1 次提交
  17. 04 11月, 2007 1 次提交
  18. 26 10月, 2007 2 次提交