1. 08 Dec, 2011 2 commits
  2. 14 Nov, 2011 1 commit
  3. 30 Oct, 2011 1 commit
  4. 16 Oct, 2011 1 commit
  5. 03 Aug, 2011 2 commits
  6. 22 Jun, 2011 1 commit
    • Christian Borntraeger's avatar
      [S390] kvm-s390: fix kconfig dependencies · 80629b0b
      Christian Borntraeger authored
      A user can create the Kconfig combination !VIRTUALIZATION, S390_GUEST
      which results in the following warnings:
      
      warning: (S390_GUEST) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)
      warning: (S390_GUEST && VIRTIO_PCI && VIRTIO_BALLOON) selects VIRTIO_RING which has unmet direct dependencies (VIRTUALIZATION && VIRTIO)
      warning: (S390_GUEST) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)
      warning: (S390_GUEST && VIRTIO_PCI && VIRTIO_BALLOON) selects VIRTIO_RING which has unmet direct dependencies (VIRTUALIZATION && VIRTIO)
      
      S390_GUEST has to select VIRTUALIZATION before selecting VIRTIO and
      friends.
      Reported-by: default avatarJan Glauber <[email protected]>
      Signed-off-by: default avatarChristian Borntraeger <[email protected]>
      Signed-off-by: default avatarMartin Schwidefsky <[email protected]>
      80629b0b
  7. 06 Jun, 2011 1 commit
    • Martin Schwidefsky's avatar
      [S390] use generic RCU page-table freeing code · 36409f63
      Martin Schwidefsky authored
      Replace the s390 specific rcu page-table freeing code with the
      generic variant. This requires to duplicate the definition for the
      struct mmu_table_batch as s390 does not use the generic tlb flush
      code.
      
      While we are at it remove the restriction that page table fragments
      can not be reused after a single fragment has been freed with rcu
      and split out allocation and freeing of page tables with pgstes.
      Signed-off-by: default avatarMartin Schwidefsky <[email protected]>
      36409f63
  8. 26 May, 2011 1 commit
  9. 23 May, 2011 1 commit
    • Martin Schwidefsky's avatar
      [S390] Remove data execution protection · 043d0708
      Martin Schwidefsky authored
      The noexec support on s390 does not rely on a bit in the page table
      entry but utilizes the secondary space mode to distinguish between
      memory accesses for instructions vs. data. The noexec code relies
      on the assumption that the cpu will always use the secondary space
      page table for data accesses while it is running in the secondary
      space mode. Up to the z9-109 class machines this has been the case.
      Unfortunately this is not true anymore with z10 and later machines.
      The load-relative-long instructions lrl, lgrl and lgfrl access the
      memory operand using the same addressing-space mode that has been
      used to fetch the instruction.
      This breaks the noexec mode for all user space binaries compiled
      with march=z10 or later. The only option is to remove the current
      noexec support.
      Signed-off-by: default avatarMartin Schwidefsky <[email protected]>
      043d0708
  10. 04 Apr, 2011 1 commit
  11. 16 Mar, 2011 1 commit
  12. 15 Mar, 2011 2 commits
  13. 15 Feb, 2011 1 commit
    • Heinz Graalfs's avatar
      oprofile, s390: Add support for hardware based sampling on System z processors · ec6a3df1
      Heinz Graalfs authored
      This adds support for hardware based sampling on System z processors
      (models z10 and up).
      
      System z's hardware sampling is described in detail in:
      
         SA23-2260-01 "The Load-Program-Parameter and CPU-Measurement Facilities"
      
      The patch introduces
      
       - support for System z's hardware sampler in OProfile's kernel module
       - it adds functions that control all hardware sampling related
         operations as:
         - checking if hardware sampling feature is available, i.e.: on
           System z models z10 and up, in LPAR mode only, and authorised
           during LPAR activation
         - allocating memory for the hardware sampling feature
         - starting/stopping hardware sampling
      
      All functions required to start and stop hardware sampling have to be
      invoked by the oprofile kernel module as provided by the other patches
      of this patch set.
      
      In case hardware based sampling cannot be setup standard timer based
      sampling is used by OProfile.
      
      Applied with following changes:
      * enable compilation in Makefile
      Signed-off-by: default avatarMahesh Salgaonkar <[email protected]>
      Signed-off-by: default avatarMaran Pakkirisamy <[email protected]>
      Signed-off-by: default avatarHeinz Graalfs <[email protected]>
      Acked-by: default avatarHeiko Carstens <[email protected]>
      Signed-off-by: default avatarRobert Richter <[email protected]>
      ec6a3df1
  14. 31 Jan, 2011 1 commit
  15. 05 Jan, 2011 3 commits
  16. 26 Nov, 2010 1 commit
    • Gerald Schaefer's avatar
      mutexes, sched: Introduce arch_mutex_cpu_relax() · 335d7afb
      Gerald Schaefer authored
      The spinning mutex implementation uses cpu_relax() in busy loops as a
      compiler barrier. Depending on the architecture, cpu_relax() may do more
      than needed in this specific mutex spin loops. On System z we also give
      up the time slice of the virtual cpu in cpu_relax(), which prevents
      effective spinning on the mutex.
      
      This patch replaces cpu_relax() in the spinning mutex code with
      arch_mutex_cpu_relax(), which can be defined by each architecture that
      selects HAVE_ARCH_MUTEX_CPU_RELAX. The default is still cpu_relax(), so
      this patch should not affect other architectures than System z for now.
      Signed-off-by: default avatarGerald Schaefer <[email protected]>
      Signed-off-by: default avatarPeter Zijlstra <[email protected]>
      LKML-Reference: <[email protected]>
      Signed-off-by: default avatarIngo Molnar <[email protected]>
      335d7afb
  17. 29 Oct, 2010 3 commits
  18. 25 Oct, 2010 3 commits
  19. 18 Oct, 2010 1 commit
    • Peter Zijlstra's avatar
      irq_work: Add generic hardirq context callbacks · e360adbe
      Peter Zijlstra authored
      Provide a mechanism that allows running code in IRQ context. It is
      most useful for NMI code that needs to interact with the rest of the
      system -- like wakeup a task to drain buffers.
      
      Perf currently has such a mechanism, so extract that and provide it as
      a generic feature, independent of perf so that others may also
      benefit.
      
      The IRQ context callback is generated through self-IPIs where
      possible, or on architectures like powerpc the decrementer (the
      built-in timer facility) is set to generate an interrupt immediately.
      
      Architectures that don't have anything like this get to do with a
      callback from the timer tick. These architectures can call
      irq_work_run() at the tail of any IRQ handlers that might enqueue such
      work (like the perf IRQ handler) to avoid undue latencies in
      processing the work.
      Signed-off-by: default avatarPeter Zijlstra <[email protected]>
      Acked-by: default avatarKyle McMartin <[email protected]>
      Acked-by: default avatarMartin Schwidefsky <[email protected]>
      [ various fixes ]
      Signed-off-by: default avatarHuang Ying <[email protected]>
      LKML-Reference: <[email protected]>
      Signed-off-by: default avatarIngo Molnar <[email protected]>
      e360adbe
  20. 20 Sep, 2010 1 commit
  21. 09 Sep, 2010 1 commit
  22. 27 Jul, 2010 1 commit
  23. 26 May, 2010 2 commits
  24. 17 May, 2010 1 commit
    • Heiko Carstens's avatar
      [S390] debug: enable exception-trace debug facility · ab3c68ee
      Heiko Carstens authored
      The exception-trace facility on x86 and other architectures prints
      traces to dmesg whenever a user space application crashes.
      s390 has such a feature since ages however it is called
      userprocess_debug and is enabled differently.
      This patch makes sure that whenever one of the two procfs files
      
      /proc/sys/kernel/userprocess_debug
      /proc/sys/debug/exception-trace
      
      is modified the contents of the second one changes as well.
      That way we keep backwards compatibilty but also support the same
      interface like other architectures do.
      Besides that the output of the traces is improved since it will now
      also contain the corresponding filename of the vma (when available)
      where the process caused a fault or trap.
      Signed-off-by: default avatarHeiko Carstens <[email protected]>
      Signed-off-by: default avatarMartin Schwidefsky <[email protected]>
      ab3c68ee
  25. 26 Feb, 2010 2 commits
  26. 17 Feb, 2010 1 commit
  27. 07 Dec, 2009 1 commit
    • Martin Schwidefsky's avatar
      [S390] Improve address space mode selection. · b11b5334
      Martin Schwidefsky authored
      Introduce user_mode to replace the two variables switch_amode and
      s390_noexec. There are three valid combinations of the old values:
        1) switch_amode == 0 && s390_noexec == 0
        2) switch_amode == 1 && s390_noexec == 0
        3) switch_amode == 1 && s390_noexec == 1
      They get replaced by
        1) user_mode == HOME_SPACE_MODE
        2) user_mode == PRIMARY_SPACE_MODE
        3) user_mode == SECONDARY_SPACE_MODE
      The new kernel parameter user_mode=[primary,secondary,home] lets
      you choose the address space mode the user space processes should
      use. In addition the CONFIG_S390_SWITCH_AMODE config option
      is removed.
      Signed-off-by: default avatarMartin Schwidefsky <[email protected]>
      b11b5334
  28. 13 Nov, 2009 1 commit
    • Thomas Gleixner's avatar
      locking: Make inlining decision Kconfig based · 6beb0009
      Thomas Gleixner authored
      commit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the
      selection of which lock functions are inlined based on defines in
      arch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION
      
      Despite of the name __always_inline__* the lock functions can be built
      out of line depending on config options. Also if the arch does not set
      some inline defines the generic code might set them; again depending on
      config options.
      
      This makes it unnecessary hard to figure out when and which lock
      functions are inlined. Aside of that it makes it way harder and
      messier for -rt to manipulate the lock functions.
      
      Convert the inlining decision to CONFIG switches. Each lock function
      is inlined depending on CONFIG_INLINE_*. The configs implement the
      existing dependencies. The architecture code can select ARCH_INLINE_*
      to signal that it wants the corresponding lock function inlined.
      ARCH_INLINE_* is necessary as Kconfig ignores "depends on"
      restrictions when a config element is selected.
      
      No functional change.
      Signed-off-by: default avatarThomas Gleixner <[email protected]>
      LKML-Reference: <[email protected]>
      Acked-by: default avatarHeiko Carstens <[email protected]>
      Reviewed-by: default avatarIngo Molnar <[email protected]>
      Acked-by: default avatarPeter Zijlstra <[email protected]>
      6beb0009
  29. 21 Sep, 2009 1 commit
    • Ingo Molnar's avatar
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar authored
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: default avatarStephane Eranian <[email protected]m>
      Acked-by: default avatarPeter Zijlstra <[email protected]>
      Acked-by: default avatarPaul Mackerras <[email protected]>
      Reviewed-by: default avatarArjan van de Ven <[email protected]>
      Cc: Mike Galbraith <[email protected]>
      Cc: Arnaldo Carvalho de Melo <[email protected]>
      Cc: Frederic Weisbecker <[email protected]>
      Cc: Steven Rostedt <[email protected]>
      Cc: Benjamin Herrenschmidt <[email protected]>
      Cc: David Howells <[email protected]>
      Cc: Kyle McMartin <[email protected]>
      Cc: Martin Schwidefsky <[email protected]>
      Cc: "David S. Miller" <[email protected]>
      Cc: Thomas Gleixner <[email protected]>
      Cc: "H. Peter Anvin" <[email protected]>
      Cc: <[email protected]>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <[email protected]>
      cdd6c482