1. 20 1月, 2018 1 次提交
  2. 16 1月, 2018 1 次提交
  3. 10 8月, 2017 2 次提交
  4. 03 8月, 2017 19 次提交
  5. 02 8月, 2017 2 次提交
  6. 02 6月, 2017 4 次提交
  7. 03 4月, 2017 1 次提交
    • A
      powerpc: Avoid taking a data miss on every userspace instruction miss · a7a9dcd8
      Anton Blanchard 提交于
      Early on in do_page_fault() we call store_updates_sp(), regardless of
      the type of exception. For an instruction miss this doesn't make
      sense, because we only use this information to detect if a data miss
      is the result of a stack expansion instruction or not.
      
      Worse still, it results in a data miss within every userspace
      instruction miss handler, because we try and load the very instruction
      we are about to install a pte for!
      
      A simple exec microbenchmark runs 6% faster on POWER8 with this fix:
      
       #include <stdlib.h>
       #include <stdio.h>
       #include <unistd.h>
      
      int main(int argc, char *argv[])
      {
      	unsigned long left = atol(argv[1]);
      	char leftstr[16];
      
      	if (left-- == 0)
      		return 0;
      
      	sprintf(leftstr, "%ld", left);
      	execlp(argv[0], argv[0], leftstr, NULL);
      	perror("exec failed\n");
      
      	return 0;
      }
      
      Pass the number of iterations on the command line (eg 10000) and time
      how long it takes to execute.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      a7a9dcd8
  8. 21 3月, 2017 3 次提交
  9. 02 3月, 2017 1 次提交
  10. 15 2月, 2017 1 次提交
    • A
      powerpc/mm: Update PROTFAULT handling in the page fault path · 18061c17
      Aneesh Kumar K.V 提交于
      With radix, we can get page fault with DSISR_PROTFAULT value set in case of
      PROT_NONE or autonuma mapping. The PROT_NONE case in handled by the vma check
      where we consider the access bad. For autonuma we should fall through and fixup
      the access mask correctly.
      
      Without this patch we trigger the WARN_ON() on radix. This code moves that
      WARN_ON() within a radix_enabled() check. I also moved the WARN_ON() outside
      the if condition making it apply for all type of faults (exec/write/read). It
      is also conditionalized for book3s, because BOOK3E can also get a PROTFAULT to
      handle the D/I cache sync.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      18061c17
  11. 08 2月, 2017 1 次提交
  12. 30 11月, 2016 1 次提交
  13. 25 11月, 2016 1 次提交
  14. 14 11月, 2016 1 次提交
  15. 19 9月, 2016 1 次提交