10 Jul, 2007

1 commit

  • sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h.
    This conflict with the already existing define in
    include/asm-s390/processor.h
    Just rename the s390 defines, since they will go away as soon as
    we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

09 May, 2007

1 commit


27 Apr, 2007

1 commit

  • The clock synchronization of the ETR code requires an smp_call_function
    to synchronize all cpus. Calling smp_call_function from a tasklet is
    illegal. Replace the tasklet with a job on the global workqueue.
    ETR work is rare and can be postponed to a be done by a kernel thread.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

21 Feb, 2007

1 commit


17 Feb, 2007

1 commit


06 Feb, 2007

3 commits

  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • This patch adds support for clock synchronization to an external time
    reference (ETR). The external time reference sends an oscillator
    signal and a synchronization signal every 2^20 microseconds to keep
    the TOD clocks of all connected servers in sync. For availability
    two ETR units can be connected to a machine. If the clock deviates
    for more than the sync-check tolerance all cpus get a machine check
    that indicates that the clock is out of sync. For the lovely details
    how to get the clock back in sync see the code below.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

06 Oct, 2006

2 commits


01 Oct, 2006

1 commit

  • With 2.6.18-rc4-mm2, now wall_jiffies will always be the same as jiffies.
    So we can kill wall_jiffies completely.

    This is just a cleanup and logically should not change any real behavior
    except for one thing: RTC updating code in (old) ppc and xtensa use a
    condition "jiffies - wall_jiffies == 1". This condition is never met so I
    suppose it is just a bug. I just remove that condition only instead of
    kill the whole "if" block.

    [heiko.carstens@de.ibm.com: s390 build fix and cleanup]
    Signed-off-by: Atsushi Nemoto
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Russell King
    Cc: Ian Molton
    Cc: Mikael Starvik
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: Hirokazu Takata
    Cc: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Cc: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     

30 Sep, 2006

1 commit

  • Pass ticks to do_timer() and update_times(), and adjust x86_64 and s390
    timer interrupt handler with this change.

    Currently update_times() calculates ticks by "jiffies - wall_jiffies", but
    callers of do_timer() should know how many ticks to update. Passing ticks
    get rid of this redundant calculation. Also there are another redundancy
    pointed out by Martin Schwidefsky.

    This cleanup make a barrier added by
    5aee405c662ca644980c184774277fc6d0769a84 needless. So this patch removes
    it.

    As a bonus, this cleanup make wall_jiffies can be removed easily, since now
    wall_jiffies is always synced with jiffies. (This patch does not really
    remove wall_jiffies. It would be another cleanup patch)

    Signed-off-by: Atsushi Nemoto
    Cc: Martin Schwidefsky
    Cc: "Eric W. Biederman"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: john stultz
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Ian Molton
    Cc: Mikael Starvik
    Acked-by: David Howells
    Cc: Yoshinori Sato
    Cc: Hirokazu Takata
    Acked-by: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Acked-by: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     

28 Sep, 2006

1 commit

  • Major cleanup of all s390 inline assemblies. They now have a common
    coding style. Quite a few have been shortened, mainly by using register
    asm variables. Use of the EX_TABLE macro helps as well. The atomic ops,
    bit ops and locking inlines new use the Q-constraint if a newer gcc
    is used. That results in slightly better code.

    Thanks to Christian Borntraeger for proof reading the changes.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

12 Jul, 2006

1 commit


01 Jul, 2006

1 commit


26 May, 2006

1 commit


22 May, 2006

1 commit

  • The 32 bit unsigned substraction (next - jiffies) in stop_hz_timer can
    overflow if jiffies gets advanced between next_timer_interrupt and the read
    under the xtime lock. The cast to a u64 then results in a large value
    which causes the cpu to wait too long. Fix this by casting next and
    jiffies independently to u64 before subtracting them.

    (Spotted by Zachary Amsden )

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     

16 May, 2006

1 commit


02 Feb, 2006

2 commits

  • Add monotonic_clock interface, used by the hangcheck-timer. On s390 this is
    the same as sched_clock().

    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Glauber
     
  • The least significant bit of the TOD clock value returned by get_clock
    is the 4096th part of a microsecond. To get to nanoseconds the value
    needs to be divided by 4096 and multiplied with 1000.

    The current method multiplies first and then shifts the value to make the
    result as precise as possible. The disadvantage is that the multiplication
    with 1000 will overflow shortly after 52 days. sched_clock is used by the
    scheduler for time stamp deltas, if an overflow occurs between two time stamps
    the scheduler will get confused.

    With the patch the problem occurs only after approx. one year, so the chance
    to run into this overflow is extremly low.

    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Glauber
     

15 Jan, 2006

1 commit

  • finish_arch_switch needs to update the user cpu time as well, not just the
    system cpu time. Otherwise the partial user cpu time of a process that is
    stored in the lowcore will be (mis-)accounted to the next process.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     

13 Jan, 2006

1 commit


07 Nov, 2005

1 commit


31 Oct, 2005

1 commit


08 Sep, 2005

1 commit

  • This patch cleans up a commonly repeated set of changes to the NTP state
    variables by adding two helper inline functions:

    ntp_clear(): Clears the ntp state variables

    ntp_synced(): Returns 1 if the system is synced with a time server.

    This was compile tested for alpha, arm, i386, x86-64, ppc64, s390, sparc,
    sparc64.

    Signed-off-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     

01 May, 2005

1 commit

  • Fix overflow in calculation of the new tod value in stop_hz_timer and fix
    wrong virtual timer list idle time in case the virtual timer is already
    expired in stop_cpu_timer.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds