1. 30 7月, 2012 2 次提交
  2. 26 7月, 2012 4 次提交
  3. 20 7月, 2012 4 次提交
  4. 17 7月, 2012 2 次提交
    • H
      s390/cpu init: use __get_cpu_var instead of per_cpu · 50bb1f76
      Heiko Carstens 提交于
      Just saves a couple of instructions.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      50bb1f76
    • H
      s390/idle: fix sequence handling vs cpu hotplug · 0008204f
      Heiko Carstens 提交于
      The s390 idle accounting code uses a sequence counter which gets used
      when the per cpu idle statistics get updated and read.
      
      One assumption on read access is that only when the sequence counter is
      even and did not change while reading all values the result is valid.
      On cpu hotplug however the per cpu data structure gets initialized via
      a cpu hotplug notifier on CPU_ONLINE.
      CPU_ONLINE however is too late, since the onlined cpu is already running
      and might access the per cpu data. Worst case is that the data structure
      gets initialized while an idle thread is updating its idle statistics.
      This will result in an uneven sequence counter after an update.
      
      As a result user space tools like top, which access /proc/stat in order
      to get idle stats, will busy loop waiting for the sequence counter to
      become even again, which will never happen until the queried cpu will
      update its idle statistics again. And even then the sequence counter
      will only have an even value for a couple of cpu cycles.
      
      Fix this by moving the initialization of the per cpu idle statistics
      to cpu_init(). I prefer that solution in favor of changing the
      notifier to CPU_UP_PREPARE, which would be a different solution to
      the problem.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      0008204f
  5. 04 7月, 2012 2 次提交
  6. 28 6月, 2012 1 次提交
  7. 14 6月, 2012 2 次提交
  8. 05 6月, 2012 6 次提交
  9. 02 6月, 2012 5 次提交
  10. 30 5月, 2012 3 次提交
    • H
      s390/cpu: remove cpu "capabilities" sysfs attribute · b9e3f776
      Heiko Carstens 提交于
      It has been a big mistage to add the capabilities attribute to the
      cpus in sysfs:
      First the attribute only contains the cpu capability of primary cpus,
      which however is not necessarily (or better: unlikely) the type of
      cpu the kernel runs on, which is typically an IFL.
      In addition all information that is necessary is available in
      /proc/sysinfo already. So this attribute partially duplicated
      informations.
      So programs should look into the sysinfo file to retrieve all
      informations they are interested in.
      
      Since with this kernel release also the powersavings cpu attributes
      are removed this seems to be a good opportunity to remove another
      broken interface.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b9e3f776
    • M
      s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs · 061da3df
      Michael Holzheu 提交于
      If the IPL CPU is offline, currently the pcpu_delegate() function
      used by smp_call_ipl_cpu() does not work because pcpu_delegate()
      modifies the lowcore of the target CPU. In case of an offline
      IPL CPU currently the prefix register is zero but pcpu->lowcore
      still points to the old prefix page. Therefore the lowcore changes
      done by pcpu_delegate() have no effect.
      
      With this fix pcpu_delegate() now uses memcpy_absolute() and therefore
      also prepares the absolute zero lowcore if the target CPU has prefix
      register zero.
      Signed-off-by: NMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      061da3df
    • M
      s390/kernel: Introduce memcpy_absolute() function · 73bf463e
      Michael Holzheu 提交于
      This patch introduces the new function memcpy_absolute() that allows to
      copy memory using absolute addressing. This means that the prefix swap
      does not apply when this function is used.
      
      With this patch also all s390 kernel code that accesses absolute zero
      now uses the new memcpy_absolute() function. The old and less generic
      copy_to_absolute_zero() function is removed.
      Signed-off-by: NMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      73bf463e
  11. 24 5月, 2012 1 次提交
  12. 23 5月, 2012 5 次提交
  13. 22 5月, 2012 1 次提交
  14. 16 5月, 2012 2 次提交
    • M
      s390: fix race on TIF_MCCK_PENDING · eda0c6d6
      Martin Schwidefsky 提交于
      There is a small race window in the __switch_to code in regard to
      the transfer of the TIF_MCCK_PENDING bit from the previous to the
      next task. The bit is transferred before the task struct pointer
      and the thread-info pointer for the next task has been stored to
      lowcore. If a machine check sets the TIF_MCCK_PENDING bit between
      the transfer code and the store of current/thread_info the bit
      is still set for the previous task. And if the previous task has
      terminated it can get lost. The effect is that a pending CRW is
      not retrieved until the next machine checks sets TIF_MCCK_PENDING.
      To fix this reorder __switch_to to first store the task struct
      and thread-info pointer and then do the transfer of the bit.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      eda0c6d6
    • H
      s390/time: simply Kconfig dependency · d652d596
      Heiko Carstens 提交于
      Use HAVE_MARCH_Z9_109_FEATURES to figure out if stckf is available
      at compile time.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d652d596