1. 26 2月, 2018 1 次提交
  2. 23 2月, 2018 5 次提交
  3. 07 2月, 2018 8 次提交
  4. 06 2月, 2018 1 次提交
    • M
      powerpc, membarrier: Skip memory barrier in switch_mm() · 3ccfebed
      Mathieu Desnoyers 提交于
      Allow PowerPC to skip the full memory barrier in switch_mm(), and
      only issue the barrier when scheduling into a task belonging to a
      process that has registered to use expedited private.
      
      Threads targeting the same VM but which belong to different thread
      groups is a tricky case. It has a few consequences:
      
      It turns out that we cannot rely on get_nr_threads(p) to count the
      number of threads using a VM. We can use
      (atomic_read(&mm->mm_users) == 1 && get_nr_threads(p) == 1)
      instead to skip the synchronize_sched() for cases where the VM only has
      a single user, and that user only has a single thread.
      
      It also turns out that we cannot use for_each_thread() to set
      thread flags in all threads using a VM, as it only iterates on the
      thread group.
      
      Therefore, test the membarrier state variable directly rather than
      relying on thread flags. This means
      membarrier_register_private_expedited() needs to set the
      MEMBARRIER_STATE_PRIVATE_EXPEDITED flag, issue synchronize_sched(), and
      only then set MEMBARRIER_STATE_PRIVATE_EXPEDITED_READY which allows
      private expedited membarrier commands to succeed.
      membarrier_arch_switch_mm() now tests for the
      MEMBARRIER_STATE_PRIVATE_EXPEDITED flag.
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Acked-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Andrew Hunter <ahh@google.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Avi Kivity <avi@scylladb.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Dave Watson <davejwatson@fb.com>
      Cc: David Sehr <sehr@google.com>
      Cc: Greg Hackmann <ghackmann@google.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Maged Michael <maged.michael@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-api@vger.kernel.org
      Cc: linux-arch@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: http://lkml.kernel.org/r/20180129202020.8515-3-mathieu.desnoyers@efficios.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      3ccfebed
  5. 05 2月, 2018 2 次提交
  6. 02 2月, 2018 1 次提交
  7. 01 2月, 2018 1 次提交
  8. 31 1月, 2018 5 次提交
  9. 29 1月, 2018 1 次提交
  10. 27 1月, 2018 4 次提交
  11. 26 1月, 2018 1 次提交
  12. 25 1月, 2018 7 次提交
  13. 23 1月, 2018 1 次提交
    • M
      MIPS: ranchu: Add Ranchu as a new generic-based board · f2d0b0d5
      Miodrag Dinic 提交于
      Provide amendments to the MIPS generic platform framework so that
      the new generic-based board Ranchu can be chosen to be built.
      
      The Ranchu board is intended to be used by Android emulator. The name
      "Ranchu" originates from Android development community. "Goldfish" and
      "Ranchu" are terms used for two generations of virtual boards used by
      Android emulator. The name "Ranchu" is a newer one among the two, and
      this patch deals with Ranchu. However, for historical reasons, some
      devices/drivers still contain the name "Goldfish".
      
      MIPS Ranchu machine includes a number of Goldfish devices. The support
      for Virtio devices is also included. Ranchu board supports up to 16
      Virtio devices which can be attached using Virtio MMIO Bus. This is
      summarized in the following picture:
      
             ABUS
              ||----MIPS CPU
              ||       |                    IRQs
              ||----Goldfish PIC------------(32)--------
              ||                     | | | | | | | | |
              ||----Goldfish TTY------ | | | | | | | |
              ||                       | | | | | | | |
              ||----Goldfish RTC-------- | | | | | | |
              ||                         | | | | | | |
              ||----Goldfish FB----------- | | | | | |
              ||                           | | | | | |
              ||----Goldfish Events--------- | | | | |
              ||                             | | | | |
              ||----Goldfish Audio------------ | | | |
              ||                               | | | |
              ||----Goldfish Battery------------ | | |
              ||                                 | | |
              ||----Android PIPE------------------ | |
              ||                                   | |
              ||----Virtio MMIO Bus                | |
              ||    |    |    |                    | |
              ||    |    |   (virtio-block)--------- |
              ||   (16)  |                           |
              ||    |   (virtio-net)------------------
      
      Device Tree is created on the QEMU side based on the information about
      devices IO map and IRQ numbers. Kernel will load this DTB using UHI
      boot protocol DTB handover mode.
      Signed-off-by: NMiodrag Dinic <miodrag.dinic@mips.com>
      Signed-off-by: NGoran Ferenc <goran.ferenc@mips.com>
      Signed-off-by: NAleksandar Markovic <aleksandar.markovic@mips.com>
      Reviewed-by: NJames Hogan <jhogan@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/18138/Signed-off-by: NJames Hogan <jhogan@kernel.org>
      f2d0b0d5
  14. 22 1月, 2018 1 次提交
  15. 19 1月, 2018 1 次提交