1. 12 6月, 2009 2 次提交
  2. 22 4月, 2009 1 次提交
  3. 14 4月, 2009 3 次提交
  4. 26 3月, 2009 1 次提交
    • M
      [S390] clock sync mode flags · 8283cb43
      Martin Schwidefsky 提交于
      The clock sync mode flag CLOCK_SYNC_STP is not cleared when stp
      is set offline. In this case the get_sync_clock() function returns
      -EACCESS and the dasd driver will block all i/o until stp is enabled
      again. In addition get_sync_clock can return -EACCESS if the clock is
      not in sync instead of -EAGAIN.
      
      Rework the stp/etr online handling to fix these problems.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      8283cb43
  5. 23 1月, 2009 1 次提交
    • H
      [S390] etr/stp: fix possible deadlock · 179cb81a
      Heiko Carstens 提交于
      Precreate stop_machine threads in case the machine supports ETR/STP.
      Otherwise we might deadlock if a time sync operation gets scheduled
      and the creation of stop_machine threads would cause disk I/O.
      This is just the minimal fix.
      The real fix would be to only precreate stop_machine threads if
      ETR/STP is actually used. But that would be a rather large and
      complicated patch.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      179cb81a
  6. 25 12月, 2008 5 次提交
  7. 13 12月, 2008 1 次提交
  8. 27 11月, 2008 1 次提交
    • C
      [S390] fix/cleanup sched_clock · 8107d829
      Christian Borntraeger 提交于
      CONFIG_PRINTK_TIME reveals that sched_clock has a wrong offset during boot:
      ..
      [    0.000000]   Movable zone: 0 pages used for memmap
      [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 775679
      [    0.000000] Kernel command line: dasd=4b6c root=/dev/dasda1 ro noinitrd
      [    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
      [6920575.975232] console [ttyS0] enabled
      [6920575.987586] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
      [6920575.991404] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
      ..
      
      The s390 implementation of sched_clock uses the store clock instruction and
      subtracts jiffies_timer_cc.
      jiffies_timer_cc is a local variable in arch/s390/kernel/time.c and only used
      for sched_clock and monotonic clock. For historical reasons there is an offset
      on that value. With todays code this offset is unnecessary. By removing that
      offset we can get a sched_clock which returns the nanoseconds after time_init.
      This improves CONFIG_PRINTK_TIME.
      
      Since sched_clock is the only user, I have also renamed jiffies_timer_cc to
      sched_clock_base_cc. In addition, the local variable init_timer_cc is redundant
      and can be romved as well.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      8107d829
  9. 11 10月, 2008 1 次提交
  10. 04 10月, 2008 1 次提交
    • H
      [S390] nohz: Fix __udelay. · d3d238c7
      Heiko Carstens 提交于
      This fixes a regression that came with 934b2857
      ("[S390] nohz/sclp: disable timer on synchronous waits.").
      If udelay() gets called from a disabled context it sets the clock comparator
      to a value where it expects the next interrupt. When the interrupt happens
      the clock comparator gets not reset and therefore the interrupt condition
      doesn't get cleared. The result is an endless timer interrupt loop.
      
      In addition this patch fixes also the following:
      
      rcutorture reveals that our __udelay implementation is still buggy,
      since it might schedule tasklets, but prevents their execution:
      
      NOHZ: local_softirq_pending 42
      NOHZ: local_softirq_pending 02
      NOHZ: local_softirq_pending 142
      NOHZ: local_softirq_pending 02
      
      To fix this we make sure that only the clock comparator interrupt
      is enabled when the enabled wait psw is loaded.
      Also no code gets called anymore which might schedule tasklets.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d3d238c7
  11. 01 8月, 2008 1 次提交
    • H
      [S390] stp: fix section mismatch warning. · 8f847003
      Heiko Carstens 提交于
      Fix these two (false positive) warnings by adding an __init annoation:
      
      WARNING: vmlinux.o(.text+0x7e6a): Section mismatch in reference from the function stp_reset() to the function .init.text:__alloc_bootmem()
      The function stp_reset() references
      the function __init __alloc_bootmem().
      This is often because stp_reset lacks a __init
      annotation or the annotation of __alloc_bootmem is wrong.
      
      WARNING: vmlinux.o(.text+0x7ece): Section mismatch in reference from the function stp_reset() to the function .init.text:free_bootmem()
      The function stp_reset() references
      the function __init free_bootmem().
      This is often because stp_reset lacks a __init
      annotation or the annotation of free_bootmem is wrong.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      8f847003
  12. 22 7月, 2008 1 次提交
    • A
      sysdev: Pass the attribute to the low level sysdev show/store function · 4a0b2b4d
      Andi Kleen 提交于
      This allow to dynamically generate attributes and share show/store
      functions between attributes. Right now most attributes are generated
      by special macros and lots of duplicated code. With the attribute
      passed it's instead possible to attach some data to the attribute
      and then use that in shared low level functions to do different things.
      
      I need this for the dynamically generated bank attributes in the x86
      machine check code, but it'll allow some further cleanups.
      
      I converted all users in tree to the new show/store prototype. It's a single
      huge patch to avoid unbisectable sections.
      
      Runtime tested: x86-32, x86-64
      Compiled only: ia64, powerpc
      Not compile tested/only grep converted: sh, arm, avr32
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4a0b2b4d
  13. 16 7月, 2008 1 次提交
  14. 14 7月, 2008 1 次提交
  15. 26 6月, 2008 2 次提交
  16. 17 4月, 2008 3 次提交
  17. 05 3月, 2008 1 次提交
  18. 19 2月, 2008 1 次提交
    • H
      [S390] etr: fix compile error on !SMP · 06cb92ff
      Heiko Carstens 提交于
      Since a5fbb6d1
      "KVM: fix !SMP build error" smp_call_function isn't a define anymore
      that folds into nothing but a define that calls up_smp_call_function
      with all parameters. Hence we cannot #ifdef out the unused code
      anymore...
      This seems to be the preferred method, so do this for s390 as well.
      
      arch/s390/kernel/time.c: In function 'etr_sync_clock':
      arch/s390/kernel/time.c:825: error: 'clock_sync_cpu_start' undeclared
      arch/s390/kernel/time.c:862: error: 'clock_sync_cpu_end' undeclared
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      06cb92ff
  19. 25 1月, 2008 1 次提交
  20. 10 11月, 2007 1 次提交
    • P
      sched: restore deterministic CPU accounting on powerpc · fa13a5a1
      Paul Mackerras 提交于
      Since powerpc started using CONFIG_GENERIC_CLOCKEVENTS, the
      deterministic CPU accounting (CONFIG_VIRT_CPU_ACCOUNTING) has been
      broken on powerpc, because we end up counting user time twice: once in
      timer_interrupt() and once in update_process_times().
      
      This fixes the problem by pulling the code in update_process_times
      that updates utime and stime into a separate function called
      account_process_tick.  If CONFIG_VIRT_CPU_ACCOUNTING is not defined,
      there is a version of account_process_tick in kernel/timer.c that
      simply accounts a whole tick to either utime or stime as before.  If
      CONFIG_VIRT_CPU_ACCOUNTING is defined, then arch code gets to
      implement account_process_tick.
      
      This also lets us simplify the s390 code a bit; it means that the s390
      timer interrupt can now call update_process_times even when
      CONFIG_VIRT_CPU_ACCOUNTING is turned on, and can just implement a
      suitable account_process_tick().
      
      account_process_tick() now takes the task_struct * as an argument.
      Tested both with and without CONFIG_VIRT_CPU_ACCOUNTING.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fa13a5a1
  21. 05 11月, 2007 1 次提交
  22. 10 7月, 2007 1 次提交
  23. 09 5月, 2007 1 次提交
  24. 27 4月, 2007 1 次提交
  25. 21 2月, 2007 1 次提交
  26. 17 2月, 2007 1 次提交
  27. 06 2月, 2007 3 次提交
  28. 06 10月, 2006 1 次提交