1. 16 7月, 2014 1 次提交
    • P
      locking/mutex: Disable optimistic spinning on some architectures · 4badad35
      Peter Zijlstra 提交于
      The optimistic spin code assumes regular stores and cmpxchg() play nice;
      this is found to not be true for at least: parisc, sparc32, tile32,
      metag-lock1, arc-!llsc and hexagon.
      
      There is further wreckage, but this in particular seemed easy to
      trigger, so blacklist this.
      
      Opt in for known good archs.
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Reported-by: NMikulas Patocka <mpatocka@redhat.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Jason Low <jason.low2@hp.com>
      Cc: Waiman Long <waiman.long@hp.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
      Cc: John David Anglin <dave.anglin@bell.net>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Davidlohr Bueso <davidlohr@hp.com>
      Cc: stable@vger.kernel.org
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: sparclinux@vger.kernel.org
      Link: http://lkml.kernel.org/r/20140606175316.GV13930@laptop.programming.kicks-ass.netSigned-off-by: NIngo Molnar <mingo@kernel.org>
      4badad35
  2. 18 6月, 2014 2 次提交
  3. 29 5月, 2014 4 次提交
    • A
      arm64: ftrace: Add system call tracepoint · 055b1212
      AKASHI Takahiro 提交于
      This patch allows system call entry or exit to be traced as ftrace events,
      ie. sys_enter_*/sys_exit_*, if CONFIG_FTRACE_SYSCALLS is enabled.
      Those events appear and can be controlled under
          ${sysfs}/tracing/events/syscalls/
      
      Please note that we can't trace compat system calls here because
      AArch32 mode does not share the same syscall table with AArch64.
      Just define ARCH_TRACE_IGNORE_COMPAT_SYSCALLS in order to avoid unexpected
      results (bogus syscalls reported or even hang-up).
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      055b1212
    • A
      arm64: ftrace: Add dynamic ftrace support · bd7d38db
      AKASHI Takahiro 提交于
      This patch allows "dynamic ftrace" if CONFIG_DYNAMIC_FTRACE is enabled.
      Here we can turn on and off tracing dynamically per-function base.
      
      On arm64, this is done by patching single branch instruction to _mcount()
      inserted by gcc -pg option. The branch is replaced to NOP initially at
      kernel start up, and later on, NOP to branch to ftrace_caller() when
      enabled or branch to NOP when disabled.
      Please note that ftrace_caller() is a counterpart of _mcount() in case of
      'static' ftrace.
      
      More details on architecture specific requirements are described in
      Documentation/trace/ftrace-design.txt.
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      bd7d38db
    • A
      arm64: Add ftrace support · 819e50e2
      AKASHI Takahiro 提交于
      This patch implements arm64 specific part to support function tracers,
      such as function (CONFIG_FUNCTION_TRACER), function_graph
      (CONFIG_FUNCTION_GRAPH_TRACER) and function profiler
      (CONFIG_FUNCTION_PROFILER).
      
      With 'function' tracer, all the functions in the kernel are traced with
      timestamps in ${sysfs}/tracing/trace. If function_graph tracer is
      specified, call graph is generated.
      
      The kernel must be compiled with -pg option so that _mcount() is inserted
      at the beginning of functions. This function is called on every function's
      entry as long as tracing is enabled.
      In addition, function_graph tracer also needs to be able to probe function's
      exit. ftrace_graph_caller() & return_to_handler do this by faking link
      register's value to intercept function's return path.
      
      More details on architecture specific requirements are described in
      Documentation/trace/ftrace-design.txt.
      Reviewed-by: NGanapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      819e50e2
    • A
      ftrace: Add arm64 support to recordmcount · af64d2aa
      AKASHI Takahiro 提交于
      Recordmcount utility under scripts is run, after compiling each object,
      to find out all the locations of calling _mcount() and put them into
      specific seciton named __mcount_loc.
      Then linker collects all such information into a table in the kernel image
      (between __start_mcount_loc and __stop_mcount_loc) for later use by ftrace.
      
      This patch adds arm64 specific definitions to identify such locations.
      There are two types of implementation, C and Perl. On arm64, only C version
      is used to build the kernel now that CONFIG_HAVE_C_RECORDMCOUNT is on.
      But Perl version is also maintained.
      
      This patch also contains a workaround just in case where a header file,
      elf.h, on host machine doesn't have definitions of EM_AARCH64 nor
      R_AARCH64_ABS64. Without them, compiling C version of recordmcount will
      fail.
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      af64d2aa
  4. 15 5月, 2014 1 次提交
  5. 09 5月, 2014 1 次提交
  6. 01 5月, 2014 2 次提交
  7. 25 4月, 2014 1 次提交
  8. 23 4月, 2014 1 次提交
  9. 08 4月, 2014 2 次提交
  10. 03 4月, 2014 1 次提交
  11. 19 3月, 2014 1 次提交
  12. 15 3月, 2014 2 次提交
  13. 13 3月, 2014 2 次提交
  14. 04 3月, 2014 1 次提交
    • M
      arm64: topology: Implement basic CPU topology support · f6e763b9
      Mark Brown 提交于
      Add basic CPU topology support to arm64, based on the existing pre-v8
      code and some work done by Mark Hambleton.  This patch does not
      implement any topology discovery support since that should be based on
      information from firmware, it merely implements the scaffolding for
      integration of topology support in the architecture.
      
      No locking of the topology data is done since it is only modified during
      CPU bringup with external serialisation from the SMP code.
      
      The goal is to separate the architecture hookup for providing topology
      information from the DT parsing in order to ease review and avoid
      blocking the architecture code (which will be built on by other work)
      with the DT code review by providing something simple and basic.
      
      Following patches will implement support for interpreting topology
      information from MPIDR and for parsing the DT topology bindings for ARM,
      similar patches will be needed for ACPI.
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      [catalin.marinas@arm.com: removed CONFIG_CPU_TOPOLOGY, always on if SMP]
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f6e763b9
  15. 01 3月, 2014 1 次提交
  16. 28 2月, 2014 1 次提交
  17. 27 2月, 2014 1 次提交
  18. 26 2月, 2014 1 次提交
  19. 08 2月, 2014 1 次提交
    • M
      arm64: defconfig: Expand default enabled features · 55834a77
      Mark Rutland 提交于
      FPGA implementations of the Cortex-A57 and Cortex-A53 are now available
      in the form of the SMM-A57 and SMM-A53 Soft Macrocell Models (SMMs) for
      Versatile Express. As these attach to a Motherboard Express V2M-P1 it
      would be useful to have support for some V2M-P1 peripherals enabled by
      default.
      
      Additionally a couple of of features have been introduced since the last
      defconfig update (CMA, jump labels) that would be good to have enabled
      by default to ensure they are build and boot tested.
      
      This patch updates the arm64 defconfig to enable support for these
      devices and features. The arm64 Kconfig is modified to select
      HAVE_PATA_PLATFORM, which is required to enable support for the
      CompactFlash controller on the V2M-P1.
      
      A few options which don't need to appear in defconfig are trimmed:
      
      * BLK_DEV - selected by default
      * EXPERIMENTAL - otherwise gone from the kernel
      * MII - selected by drivers which require it
      * USB_SUPPORT - selected by default
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      55834a77
  20. 08 1月, 2014 1 次提交
  21. 20 12月, 2013 4 次提交
  22. 17 12月, 2013 3 次提交
  23. 07 12月, 2013 1 次提交
  24. 15 11月, 2013 1 次提交
  25. 06 11月, 2013 1 次提交
  26. 25 10月, 2013 2 次提交