1. 29 9月, 2017 3 次提交
  2. 28 9月, 2017 15 次提交
  3. 20 9月, 2017 2 次提交
    • H
      s390/topology: enable / disable topology dynamically · 51dce386
      Heiko Carstens 提交于
      Add a new sysctl file /proc/sys/s390/topology which displays if
      topology is on (1) or off (0) as specified by the "topology=" kernel
      parameter.
      
      This allows to change topology information during runtime and
      configuring it via /etc/sysctl.conf instead of using the kernel line
      parameter.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      51dce386
    • H
      s390/topology: alternative topology for topology-less machines · 1b25fda0
      Heiko Carstens 提交于
      If running on machines that do not provide topology information we
      currently generate a "fake" topology which defines the maximum
      distance between each cpu: each cpu will be put into an own drawer.
      
      Historically this used to be the best option for (virtual) machines in
      overcommited hypervisors.
      
      For some workloads however it is better to generate a different
      topology where all cpus are siblings within a package (all cpus are
      core siblings). This shows performance improvements of up to 10%,
      depending on the workload.
      
      In order to keep the current behaviour, but also allow to switch to
      the different core sibling topology use the existing "topology="
      kernel parameter:
      
      Specifying "topology=on" on machines without topology information will
      generate the core siblings (fake) topology information, instead of the
      default topology information where all cpus have the maximum distance.
      
      On machines which provide topology information specifying
      "topology=on" does not have any effect.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1b25fda0
  4. 19 9月, 2017 2 次提交
  5. 13 9月, 2017 1 次提交
    • P
      s390/perf: fix bug when creating per-thread event · fc3100d6
      Pu Hou 提交于
      A per-thread event could not be created correctly like below:
      
          perf record --per-thread -e rB0000 -- sleep 1
          Error:
          The sys_perf_event_open() syscall returned with 19 (No such device) for event (rB0000).
          /bin/dmesg may provide additional information.
          No CONFIG_PERF_EVENTS=y kernel support configured?
      
      This bug was introduced by:
      
          commit c311c797
          Author: Alexey Dobriyan <adobriyan@gmail.com>
          Date:   Mon May 8 15:56:15 2017 -0700
      
          cpumask: make "nr_cpumask_bits" unsigned
      
      If a per-thread event is not attached to any CPU, the cpu field
      in struct perf_event is -1. The above commit converts the CPU number
      to unsigned int, which result in an illegal CPU number.
      
      Fixes: c311c797 ("cpumask: make "nr_cpumask_bits" unsigned")
      Cc: <stable@vger.kernel.org> # v4.12+
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NPu Hou <bjhoupu@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      fc3100d6
  6. 06 9月, 2017 7 次提交
  7. 01 9月, 2017 1 次提交
  8. 31 8月, 2017 5 次提交
  9. 29 8月, 2017 4 次提交
    • D
      KVM: s390: we are always in czam mode · 1935222d
      David Hildenbrand 提交于
      Independent of the underlying hardware, kvm will now always handle
      SIGP SET ARCHITECTURE as if czam were enabled. Therefore, let's not
      only forward that bit but always set it.
      
      While at it, add a comment regarding STHYI.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170829143108.14703-1-david@redhat.com>
      Reviewed-by: NCornelia Huck <cohuck@redhat.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      1935222d
    • C
      s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs · fa41ba0d
      Christian Borntraeger 提交于
      Right now there is a potential hang situation for postcopy migrations,
      if the guest is enabling storage keys on the target system during the
      postcopy process.
      
      For storage key virtualization, we have to forbid the empty zero page as
      the storage key is a property of the physical page frame.  As we enable
      storage key handling lazily we then drop all mappings for empty zero
      pages for lazy refaulting later on.
      
      This does not work with the postcopy migration, which relies on the
      empty zero page never triggering a fault again in the future. The reason
      is that postcopy migration will simply read a page on the target system
      if that page is a known zero page to fault in an empty zero page.  At
      the same time postcopy remembers that this page was already transferred
      - so any future userfault on that page will NOT be retransmitted again
      to avoid races.
      
      If now the guest enters the storage key mode while in postcopy, we will
      break this assumption of postcopy.
      
      The solution is to disable the empty zero page for KVM guests early on
      and not during storage key enablement. With this change, the postcopy
      migration process is guaranteed to start after no zero pages are left.
      
      As guest pages are very likely not empty zero pages anyway the memory
      overhead is also pretty small.
      
      While at it this also adds proper page table locking to the zero page
      removal.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NJanosch Frank <frankja@linux.vnet.ibm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      fa41ba0d
    • J
      s390/dasd: Add discard support for FBA devices · 28b841b3
      Jan Höppner 提交于
      The z/VM hypervisor provides virtual disks (VDISK) which are backed by
      main memory of the hypervisor. Those devices are seen as DASD FBA disks
      within the Linux guest.
      
      Whenever data is written to such a device, memory is allocated
      on-the-fly by z/VM accordingly. This memory, however, is not being freed
      if data on the device is deleted by the guest OS.
      
      In order to make memory usable after deletion again, add discard support
      to the FBA discipline.
      
      While at it, update comments regarding the DASD_FEATURE_* flags.
      Reviewed-by: NStefan Haberland <sth@linux.vnet.ibm.com>
      Signed-off-by: NJan Höppner <hoeppner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      28b841b3
    • M
      s390/uaccess: avoid mvcos jump label · d66bf801
      Martin Schwidefsky 提交于
      If the kernel is compiled for z10 or later machines the uaccess
      code inlines the mvcos instruction. The facility bit 27 which
      indicates the availability of MVCOS has to be set. The have_mvcos
      jump label will always be true.
      
      Make the generation of the have_mvcos jump label conditional on
      !CONFIG_HAVE_MARCH_Z10_FEATURES.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d66bf801