[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