[kernel] r19396 - dists/sid/linux/debian/patches/features/all/rt
Dann Frazier
dannf at alioth.debian.org
Mon Sep 24 22:52:42 UTC 2012
Author: dannf
Date: Mon Sep 24 22:52:41 2012
New Revision: 19396
Log:
refresh patches to apply to 3.2.30
Modified:
dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch
dists/sid/linux/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch
Modified: dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch Mon Sep 24 19:55:34 2012 (r19395)
+++ dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch Mon Sep 24 22:52:41 2012 (r19396)
@@ -17,11 +17,11 @@
kernel/time/tick-sched.c | 16 +++++---
kernel/time/timekeeping.c | 90 +++++++++++++++++++++++++------------------
6 files changed, 89 insertions(+), 57 deletions(-)
+ [dannf: adjusted to apply to debian's 3.2.30]
-diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
-index a470154..21940eb 100644
---- a/kernel/time/jiffies.c
-+++ b/kernel/time/jiffies.c
+diff -urpN a/kernel/time/jiffies.c b/kernel/time/jiffies.c
+--- a/kernel/time/jiffies.c 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/jiffies.c 2012-09-24 06:56:39.098990499 -0600
@@ -74,9 +74,9 @@ u64 get_jiffies_64(void)
u64 ret;
@@ -34,10 +34,9 @@
return ret;
}
EXPORT_SYMBOL(get_jiffies_64);
-diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
-index f1eb182..09079b7 100644
---- a/kernel/time/ntp.c
-+++ b/kernel/time/ntp.c
+diff -urpN a/kernel/time/ntp.c b/kernel/time/ntp.c
+--- a/kernel/time/ntp.c 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/ntp.c 2012-09-24 06:59:27.326992487 -0600
@@ -362,6 +362,9 @@ int second_overflow(unsigned long secs)
int leap = 0;
s64 delta;
@@ -48,15 +47,15 @@
/*
* Leap second processing. If in leap-insert state at the end of the
* day, the system clock is set back one second; if in leap-delete
-@@ -402,6 +405,8 @@ int second_overflow(unsigned long secs)
- break;
+@@ -403,6 +406,8 @@ int second_overflow(unsigned long secs)
}
+
+ write_seqcount_end(&xtime_seq);
+ raw_spin_unlock(&xtime_lock);
-
/* Bump the maxerror field */
time_maxerror += MAXFREQ / NSEC_PER_USEC;
+ if (time_maxerror > NTP_PHASE_LIMIT) {
@@ -623,7 +628,8 @@ int do_adjtimex(struct timex *txc)
getnstimeofday(&ts);
@@ -77,7 +76,7 @@
txc->time.tv_sec = ts.tv_sec;
txc->time.tv_usec = ts.tv_nsec;
-@@ -863,7 +870,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -863,7 +870,8 @@ void hardpps(const struct timespec *phas
pts_norm = pps_normalize_ts(*phase_ts);
@@ -87,7 +86,7 @@
/* clear the error bits, they will be set again if needed */
time_status &= ~(STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR);
-@@ -876,7 +884,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -876,7 +884,8 @@ void hardpps(const struct timespec *phas
* just start the frequency interval */
if (unlikely(pps_fbase.tv_sec == 0)) {
pps_fbase = *raw_ts;
@@ -97,7 +96,7 @@
return;
}
-@@ -891,7 +900,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -891,7 +900,8 @@ void hardpps(const struct timespec *phas
time_status |= STA_PPSJITTER;
/* restart the frequency calibration interval */
pps_fbase = *raw_ts;
@@ -107,7 +106,7 @@
pr_err("hardpps: PPSJITTER: bad pulse\n");
return;
}
-@@ -908,7 +918,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -908,7 +918,8 @@ void hardpps(const struct timespec *phas
hardpps_update_phase(pts_norm.nsec);
@@ -117,10 +116,9 @@
}
EXPORT_SYMBOL(hardpps);
-diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
-index da6c9ec..39de540 100644
---- a/kernel/time/tick-common.c
-+++ b/kernel/time/tick-common.c
+diff -urpN a/kernel/time/tick-common.c b/kernel/time/tick-common.c
+--- a/kernel/time/tick-common.c 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/tick-common.c 2012-09-24 07:00:21.214993125 -0600
@@ -63,13 +63,15 @@ int tick_is_oneshot_available(void)
static void tick_periodic(int cpu)
{
@@ -139,7 +137,7 @@
}
update_process_times(user_mode(get_irq_regs()));
-@@ -130,9 +132,9 @@ void tick_setup_periodic(struct clock_event_device *dev, int broadcast)
+@@ -130,9 +132,9 @@ void tick_setup_periodic(struct clock_ev
ktime_t next;
do {
@@ -151,22 +149,20 @@
clockevents_set_mode(dev, CLOCK_EVT_MODE_ONESHOT);
-diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
-index 4e265b9..c91100d 100644
---- a/kernel/time/tick-internal.h
-+++ b/kernel/time/tick-internal.h
-@@ -141,4 +141,5 @@ static inline int tick_device_is_functional(struct clock_event_device *dev)
+diff -urpN a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
+--- a/kernel/time/tick-internal.h 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/tick-internal.h 2012-09-24 07:00:47.430993435 -0600
+@@ -141,4 +141,5 @@ static inline int tick_device_is_functio
#endif
extern void do_timer(unsigned long ticks);
-extern seqlock_t xtime_lock;
+extern raw_spinlock_t xtime_lock;
+extern seqcount_t xtime_seq;
-diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
-index 793548c..9964bda 100644
---- a/kernel/time/tick-sched.c
-+++ b/kernel/time/tick-sched.c
-@@ -56,7 +56,8 @@ static void tick_do_update_jiffies64(ktime_t now)
+diff -urpN a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+--- a/kernel/time/tick-sched.c 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/tick-sched.c 2012-09-24 07:02:42.934994801 -0600
+@@ -56,7 +56,8 @@ static void tick_do_update_jiffies64(kti
return;
/* Reevalute with xtime_lock held */
@@ -176,7 +172,7 @@
delta = ktime_sub(now, last_jiffies_update);
if (delta.tv64 >= tick_period.tv64) {
-@@ -79,7 +80,8 @@ static void tick_do_update_jiffies64(ktime_t now)
+@@ -79,7 +80,8 @@ static void tick_do_update_jiffies64(kti
/* Keep the tick_next_period variable up to date */
tick_next_period = ktime_add(last_jiffies_update, tick_period);
}
@@ -186,7 +182,7 @@
}
/*
-@@ -89,12 +91,14 @@ static ktime_t tick_init_jiffy_update(void)
+@@ -89,12 +91,14 @@ static ktime_t tick_init_jiffy_update(vo
{
ktime_t period;
@@ -203,7 +199,7 @@
return period;
}
-@@ -345,11 +349,11 @@ void tick_nohz_stop_sched_tick(int inidle)
+@@ -345,11 +349,11 @@ void tick_nohz_stop_sched_tick(int inidl
ts->idle_calls++;
/* Read jiffies and the time when jiffies were updated last */
do {
@@ -217,11 +213,10 @@
if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu) ||
arch_needs_cpu(cpu)) {
-diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
-index 03e67d4..03493fd 100644
---- a/kernel/time/timekeeping.c
-+++ b/kernel/time/timekeeping.c
-@@ -139,8 +139,8 @@ static inline s64 timekeeping_get_ns_raw(void)
+diff -urpN a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
+--- a/kernel/time/timekeeping.c 2012-09-19 08:05:26.000000000 -0600
++++ b/kernel/time/timekeeping.c 2012-09-24 07:15:47.391004077 -0600
+@@ -139,8 +139,8 @@ static inline s64 timekeeping_get_ns_raw
* This read-write spinlock protects us from races in SMP while
* playing with xtime.
*/
@@ -284,7 +279,7 @@
set_normalized_timespec(ts, ts->tv_sec + tomono.tv_sec,
ts->tv_nsec + tomono.tv_nsec + nsecs);
-@@ -333,7 +333,7 @@ void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
+@@ -333,7 +333,7 @@ void getnstime_raw_and_real(struct times
do {
u32 arch_offset;
@@ -293,7 +288,7 @@
*ts_raw = raw_time;
*ts_real = xtime;
-@@ -346,7 +346,7 @@ void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
+@@ -346,7 +346,7 @@ void getnstime_raw_and_real(struct times
nsecs_raw += arch_offset;
nsecs_real += arch_offset;
@@ -302,8 +297,8 @@
timespec_add_ns(ts_raw, nsecs_raw);
timespec_add_ns(ts_real, nsecs_real);
-@@ -385,7 +385,8 @@ int do_settimeofday(const struct timespec *tv)
- if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
+@@ -385,7 +385,8 @@ int do_settimeofday(const struct timespe
+ if (!timespec_valid_strict(tv))
return -EINVAL;
- write_seqlock_irqsave(&xtime_lock, flags);
@@ -312,7 +307,7 @@
timekeeping_forward_now();
-@@ -397,7 +398,8 @@ int do_settimeofday(const struct timespec *tv)
+@@ -397,7 +398,8 @@ int do_settimeofday(const struct timespe
timekeeping_update(true);
@@ -322,7 +317,7 @@
/* signal hrtimers about time change */
clock_was_set();
-@@ -421,7 +423,8 @@ int timekeeping_inject_offset(struct timespec *ts)
+@@ -423,7 +425,8 @@ int timekeeping_inject_offset(struct tim
if ((unsigned long)ts->tv_nsec >= NSEC_PER_SEC)
return -EINVAL;
@@ -332,8 +327,8 @@
timekeeping_forward_now();
-@@ -430,7 +433,8 @@ int timekeeping_inject_offset(struct timespec *ts)
-
+@@ -439,7 +442,8 @@ int timekeeping_inject_offset(struct tim
+ error: /* even if we error out, we forwarded the time, so call update */
timekeeping_update(true);
- write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -342,7 +337,7 @@
/* signal hrtimers about time change */
clock_was_set();
-@@ -502,11 +506,11 @@ void getrawmonotonic(struct timespec *ts)
+@@ -511,11 +515,11 @@ void getrawmonotonic(struct timespec *ts
s64 nsecs;
do {
@@ -356,7 +351,7 @@
timespec_add_ns(ts, nsecs);
}
-@@ -522,11 +526,11 @@ int timekeeping_valid_for_hres(void)
+@@ -531,11 +535,11 @@ int timekeeping_valid_for_hres(void)
int ret;
do {
@@ -370,9 +365,9 @@
return ret;
}
-@@ -584,7 +588,8 @@ void __init timekeeping_init(void)
- read_persistent_clock(&now);
- read_boot_clock(&boot);
+@@ -606,7 +610,8 @@ void __init timekeeping_init(void)
+ boot.tv_nsec = 0;
+ }
- write_seqlock_irqsave(&xtime_lock, flags);
+ raw_spin_lock_irqsave(&xtime_lock, flags);
@@ -380,7 +375,7 @@
ntp_init();
-@@ -606,7 +611,8 @@ void __init timekeeping_init(void)
+@@ -628,7 +633,8 @@ void __init timekeeping_init(void)
update_rt_offset();
total_sleep_time.tv_sec = 0;
total_sleep_time.tv_nsec = 0;
@@ -390,7 +385,7 @@
}
/* time in seconds when suspend began */
-@@ -659,14 +665,16 @@ void timekeeping_inject_sleeptime(struct timespec *delta)
+@@ -681,14 +687,16 @@ void timekeeping_inject_sleeptime(struct
if (!(ts.tv_sec == 0 && ts.tv_nsec == 0))
return;
@@ -409,7 +404,7 @@
/* signal hrtimers about time change */
clock_was_set();
-@@ -689,7 +697,8 @@ static void timekeeping_resume(void)
+@@ -711,7 +719,8 @@ static void timekeeping_resume(void)
clocksource_resume();
@@ -419,7 +414,7 @@
if (timespec_compare(&ts, &timekeeping_suspend_time) > 0) {
ts = timespec_sub(ts, timekeeping_suspend_time);
-@@ -700,7 +709,8 @@ static void timekeeping_resume(void)
+@@ -722,7 +731,8 @@ static void timekeeping_resume(void)
timekeeper.ntp_error = 0;
timekeeping_suspended = 0;
timekeeping_update(false);
@@ -429,7 +424,7 @@
touch_softlockup_watchdog();
-@@ -718,7 +728,8 @@ static int timekeeping_suspend(void)
+@@ -740,7 +750,8 @@ static int timekeeping_suspend(void)
read_persistent_clock(&timekeeping_suspend_time);
@@ -439,7 +434,7 @@
timekeeping_forward_now();
timekeeping_suspended = 1;
-@@ -741,7 +752,8 @@ static int timekeeping_suspend(void)
+@@ -763,7 +774,8 @@ static int timekeeping_suspend(void)
timekeeping_suspend_time =
timespec_add(timekeeping_suspend_time, delta_delta);
}
@@ -449,7 +444,7 @@
clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL);
clocksource_suspend();
-@@ -1126,13 +1138,13 @@ void get_monotonic_boottime(struct timespec *ts)
+@@ -1152,13 +1164,13 @@ void get_monotonic_boottime(struct times
WARN_ON(timekeeping_suspended);
do {
@@ -465,7 +460,7 @@
set_normalized_timespec(ts, ts->tv_sec + tomono.tv_sec + sleep.tv_sec,
ts->tv_nsec + tomono.tv_nsec + sleep.tv_nsec + nsecs);
-@@ -1183,10 +1195,10 @@ struct timespec current_kernel_time(void)
+@@ -1209,10 +1221,10 @@ struct timespec current_kernel_time(void
unsigned long seq;
do {
@@ -478,7 +473,7 @@
return now;
}
-@@ -1198,11 +1210,11 @@ struct timespec get_monotonic_coarse(void)
+@@ -1224,11 +1236,11 @@ struct timespec get_monotonic_coarse(voi
unsigned long seq;
do {
@@ -492,7 +487,7 @@
set_normalized_timespec(&now, now.tv_sec + mono.tv_sec,
now.tv_nsec + mono.tv_nsec);
-@@ -1234,11 +1246,11 @@ void get_xtime_and_monotonic_and_sleep_offset(struct timespec *xtim,
+@@ -1260,11 +1272,11 @@ void get_xtime_and_monotonic_and_sleep_o
unsigned long seq;
do {
@@ -506,7 +501,7 @@
}
#ifdef CONFIG_HIGH_RES_TIMERS
-@@ -1284,9 +1296,9 @@ ktime_t ktime_get_monotonic_offset(void)
+@@ -1310,9 +1322,9 @@ ktime_t ktime_get_monotonic_offset(void)
struct timespec wtom;
do {
@@ -518,7 +513,7 @@
return timespec_to_ktime(wtom);
}
-@@ -1298,7 +1310,9 @@ ktime_t ktime_get_monotonic_offset(void)
+@@ -1324,7 +1336,9 @@ ktime_t ktime_get_monotonic_offset(void)
*/
void xtime_update(unsigned long ticks)
{
Modified: dists/sid/linux/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch Mon Sep 24 19:55:34 2012 (r19395)
+++ dists/sid/linux/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch Mon Sep 24 22:52:41 2012 (r19396)
@@ -17,11 +17,11 @@
kernel/time/ntp.c | 6 ------
kernel/time/timekeeping.c | 4 ++--
2 files changed, 2 insertions(+), 8 deletions(-)
+ [dannf: adjusted to apply to Debian's 3.2.30]
-diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
-index 09079b7..4b63943 100644
---- a/kernel/time/ntp.c
-+++ b/kernel/time/ntp.c
+diff -urpN a/kernel/time/ntp.c b/kernel/time/ntp.c
+--- a/kernel/time/ntp.c 2012-09-24 07:30:56.000000000 -0600
++++ b/kernel/time/ntp.c 2012-09-24 07:32:24.367015862 -0600
@@ -362,9 +362,6 @@ int second_overflow(unsigned long secs)
int leap = 0;
s64 delta;
@@ -32,21 +32,19 @@
/*
* Leap second processing. If in leap-insert state at the end of the
* day, the system clock is set back one second; if in leap-delete
-@@ -405,9 +402,6 @@ int second_overflow(unsigned long secs)
- break;
+@@ -406,8 +403,6 @@ int second_overflow(unsigned long secs)
}
+
- write_seqcount_end(&xtime_seq);
- raw_spin_unlock(&xtime_lock);
--
/* Bump the maxerror field */
time_maxerror += MAXFREQ / NSEC_PER_USEC;
if (time_maxerror > NTP_PHASE_LIMIT) {
-diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
-index 03493fd..991259a 100644
---- a/kernel/time/timekeeping.c
-+++ b/kernel/time/timekeeping.c
-@@ -1269,7 +1269,7 @@ ktime_t ktime_get_update_offsets(ktime_t *real, ktime_t *boot)
+diff -urpN a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
+--- a/kernel/time/timekeeping.c 2012-09-24 07:30:56.000000000 -0600
++++ b/kernel/time/timekeeping.c 2012-09-24 07:31:39.035015329 -0600
+@@ -1295,7 +1295,7 @@ ktime_t ktime_get_update_offsets(ktime_t
u64 secs, nsecs;
do {
@@ -55,7 +53,7 @@
secs = xtime.tv_sec;
nsecs = xtime.tv_nsec;
-@@ -1279,7 +1279,7 @@ ktime_t ktime_get_update_offsets(ktime_t *real, ktime_t *boot)
+@@ -1305,7 +1305,7 @@ ktime_t ktime_get_update_offsets(ktime_t
*real = offs_real;
*boot = offs_boot;
@@ -64,6 +62,3 @@
now = ktime_add_ns(ktime_set(secs, 0), nsecs);
now = ktime_sub(now, *real);
---
-1.7.10
-
More information about the Kernel-svn-changes
mailing list