1. 08 3月, 2010 1 次提交
    • A
      sysdev: Pass attribute in sysdev_class attributes show/store · c9be0a36
      Andi Kleen 提交于
      Passing the attribute to the low level IO functions allows all kinds
      of cleanups, by sharing low level IO code without requiring
      an own function for every piece of data.
      
      Also drivers can extend the attributes with own data fields
      and use that in the low level function.
      
      Similar to sysdev_attributes and normal attributes.
      
      This is a tree-wide sweep, converting everything in one go.
      
      No functional changes in this patch other than passing the new
      argument everywhere.
      
      Tested on x86, the non x86 parts are uncompiled.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      c9be0a36
  2. 27 2月, 2010 1 次提交
  3. 07 12月, 2009 1 次提交
  4. 17 11月, 2009 1 次提交
    • L
      timekeeping: Fix clock_gettime vsyscall time warp · 0696b711
      Lin Ming 提交于
      Since commit 0a544198 "timekeeping: Move NTP adjusted clock multiplier
      to struct timekeeper" the clock multiplier of vsyscall is updated with
      the unmodified clock multiplier of the clock source and not with the
      NTP adjusted multiplier of the timekeeper.
      
      This causes user space observerable time warps:
      new CLOCK-warp maximum: 120 nsecs,  00000025c337c537 -> 00000025c337c4bf
      
      Add a new argument "mult" to update_vsyscall() and hand in the
      timekeeping internal NTP adjusted multiplier.
      Signed-off-by: NLin Ming <ming.m.lin@intel.com>
      Cc: "Zhang Yanmin" <yanmin_zhang@linux.intel.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Tony Luck <tony.luck@intel.com>
      LKML-Reference: <1258436990.17765.83.camel@minggr.sh.intel.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      0696b711
  5. 11 9月, 2009 1 次提交
  6. 05 9月, 2009 1 次提交
  7. 15 8月, 2009 4 次提交
  8. 22 6月, 2009 1 次提交
  9. 12 6月, 2009 2 次提交
  10. 22 4月, 2009 1 次提交
  11. 14 4月, 2009 3 次提交
  12. 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
  13. 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
  14. 25 12月, 2008 5 次提交
  15. 13 12月, 2008 1 次提交
  16. 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
  17. 11 10月, 2008 1 次提交
  18. 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
  19. 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
  20. 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
  21. 16 7月, 2008 1 次提交
  22. 14 7月, 2008 1 次提交
  23. 26 6月, 2008 2 次提交
  24. 17 4月, 2008 3 次提交
  25. 05 3月, 2008 1 次提交
  26. 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
  27. 25 1月, 2008 1 次提交