1. 21 2月, 2014 8 次提交
  2. 24 1月, 2014 1 次提交
  3. 22 1月, 2014 1 次提交
    • H
      s390/32bit: fix cmpxchg64 · 38ea1f35
      Heiko Carstens 提交于
      Fix broken inline assembly contraints for cmpxchg64 on 32bit.
      
      Fixes this crash:
      
      specification exception: 0006 [#1] SMP
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.13.0 #4
      task: 005a16c8 ti: 00592000 task.ti: 00592000
      Krnl PSW : 070ce000 8029abd6 (lockref_get+0x3e/0x9c)
      ...
      Krnl Code: 8029abcc: a71a0001           ahi     %r1,1
                 8029abd0: 1852               lr      %r5,%r2
                #8029abd2: bb40f064           cds     %r4,%r0,100(%r15)
                >8029abd6: 1943               cr      %r4,%r3
                 8029abd8: 1815               lr      %r1,%r5
      Call Trace:
      ([<0000000078e01870>] 0x78e01870)
       [<000000000021105a>] sysfs_mount+0xd2/0x1c8
       [<00000000001b551e>] mount_fs+0x3a/0x134
       [<00000000001ce768>] vfs_kern_mount+0x44/0x11c
       [<00000000001ce864>] kern_mount_data+0x24/0x3c
       [<00000000005cc4b8>] sysfs_init+0x74/0xd4
       [<00000000005cb5b4>] mnt_init+0xe0/0x1fc
       [<00000000005cb16a>] vfs_caches_init+0xb6/0x14c
       [<00000000005be794>] start_kernel+0x318/0x33c
       [<000000000010001c>] _stext+0x1c/0x80
      Reported-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      38ea1f35
  4. 17 1月, 2014 1 次提交
    • M
      KVM: s390: enable Transactional Execution · 7feb6bb8
      Michael Mueller 提交于
      This patch enables transactional execution for KVM guests
      on s390 systems zec12 or later.
      
      We rework the allocation of the page containing the sie_block
      to also back the Interception Transaction Diagnostic Block.
      If available the TE facilities will be enabled.
      
      Setting bit 73 and 50 in vfacilities bitmask reveals the HW
      facilities Transactional Memory and Constraint Transactional
      Memory respectively to the KVM guest.
      
      Furthermore, the patch restores the Program-Interruption TDB
      from the Interception TDB in case a program interception has
      occurred and the ITDB has a valid format.
      Signed-off-by: NMichael Mueller <mimu@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      7feb6bb8
  5. 16 1月, 2014 2 次提交
  6. 14 1月, 2014 2 次提交
  7. 13 1月, 2014 1 次提交
  8. 12 1月, 2014 1 次提交
    • P
      arch: Introduce smp_load_acquire(), smp_store_release() · 47933ad4
      Peter Zijlstra 提交于
      A number of situations currently require the heavyweight smp_mb(),
      even though there is no need to order prior stores against later
      loads.  Many architectures have much cheaper ways to handle these
      situations, but the Linux kernel currently has no portable way
      to make use of them.
      
      This commit therefore supplies smp_load_acquire() and
      smp_store_release() to remedy this situation.  The new
      smp_load_acquire() primitive orders the specified load against
      any subsequent reads or writes, while the new smp_store_release()
      primitive orders the specifed store against any prior reads or
      writes.  These primitives allow array-based circular FIFOs to be
      implemented without an smp_mb(), and also allow a theoretical
      hole in rcu_assign_pointer() to be closed at no additional
      expense on most architectures.
      
      In addition, the RCU experience transitioning from explicit
      smp_read_barrier_depends() and smp_wmb() to rcu_dereference()
      and rcu_assign_pointer(), respectively resulted in substantial
      improvements in readability.  It therefore seems likely that
      replacing other explicit barriers with smp_load_acquire() and
      smp_store_release() will provide similar benefits.  It appears
      that roughly half of the explicit barriers in core kernel code
      might be so replaced.
      
      [Changelog by PaulMck]
      Reviewed-by: N"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Cc: Michael Neuling <mikey@neuling.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Victor Kaplansky <VICTORK@il.ibm.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Link: http://lkml.kernel.org/r/20131213150640.908486364@infradead.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      47933ad4
  9. 11 1月, 2014 1 次提交
    • T
      s390: use device_remove_file_self() instead of device_schedule_callback() · bdbb0a13
      Tejun Heo 提交于
      driver-core now supports synchrnous self-deletion of attributes and
      the asynchrnous removal mechanism is scheduled for removal.  Use it
      instead of device_schedule_callback().
      
      * Conversions in arch/s390/pci/pci_sysfs.c and
        drivers/s390/block/dcssblk.c are straightforward.
      
      * drivers/s390/cio/ccwgroup.c is a bit more tricky because
        ccwgroup_notifier() was (ab)using device_schedule_callback() to
        purely obtain a process context to kick off ungroup operation which
        may block from a notifier callback.
      
        Rename ccwgroup_ungroup_callback() to ccwgroup_ungroup() and make it
        take ccwgroup_device * instead.  The new function is now called
        directly from ccwgroup_ungroup_store().
      
        ccwgroup_notifier() chain is updated to explicitly bounce through
        ccwgroup_device->ungroup_work.  This also removes possible failure
        from memory pressure.
      
      Only compile-tested.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux390@de.ibm.com
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bdbb0a13
  10. 19 12月, 2013 1 次提交
  11. 18 12月, 2013 1 次提交
  12. 16 12月, 2013 12 次提交
  13. 12 12月, 2013 2 次提交
  14. 02 12月, 2013 1 次提交
  15. 25 11月, 2013 1 次提交
  16. 20 11月, 2013 1 次提交
    • H
      s390/mm: optimize copy_page · dba6bb60
      Heiko Carstens 提交于
      Always use the mvcl instruction to copy a page instead of mvpg or a
      couple of mvc instructions.
      Copying a huge page is 25% faster this way. Also bypass caches when
      copying pages since only parts of a page will be used afterwards.
      Especially when copying a huge page this would kick everything out
      of the L1 and L2 data caches on a zEC12 machine.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      dba6bb60
  17. 15 11月, 2013 3 次提交