- gtod-persistent-clock-support-core-update.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     GTOD: persistent clock support, core (update)

has been removed from the -mm tree.  Its filename is

     gtod-persistent-clock-support-core-update.patch

This patch was dropped because an updated version was merged

------------------------------------------------------
Subject: GTOD: persistent clock support, core (update)
From: john stultz <johnstul@xxxxxxxxxx>

Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: John Stultz <johnstul@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 kernel/timer.c |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff -puN kernel/timer.c~gtod-persistent-clock-support-core-update kernel/timer.c
--- a/kernel/timer.c~gtod-persistent-clock-support-core-update
+++ a/kernel/timer.c
@@ -746,8 +746,14 @@ int timekeeping_is_continuous(void)
 	return ret;
 }
 
-/* Weak dummy function for arches that do not yet support it.
- * XXX - Do be sure to remove it once all arches implement it.
+/**
+ * read_persistent_clock -  Return time in seconds from the persistent clock.
+ *
+ * Weak dummy function for arches that do not yet support it.
+ * Returns seconds from epoch using the battery backed persistent clock.
+ * Returns zero if unsupported.
+ *
+ *  XXX - Do be sure to remove it once all arches implement it.
  */
 unsigned long __attribute__((weak)) read_persistent_clock(void)
 {
@@ -759,7 +765,8 @@ unsigned long __attribute__((weak)) read
  */
 void __init timekeeping_init(void)
 {
-	unsigned long flags, sec = read_persistent_clock();
+	unsigned long flags;
+	unsigned long sec = read_persistent_clock();
 
 	write_seqlock_irqsave(&xtime_lock, flags);
 
@@ -770,7 +777,7 @@ void __init timekeeping_init(void)
 	clock->cycle_last = clocksource_read(clock);
 
 	xtime.tv_sec = sec;
-	xtime.tv_nsec = (jiffies % HZ) * (NSEC_PER_SEC / HZ);
+	xtime.tv_nsec = 0;
 	set_normalized_timespec(&wall_to_monotonic,
 		-xtime.tv_sec, -xtime.tv_nsec);
 
@@ -778,7 +785,9 @@ void __init timekeeping_init(void)
 }
 
 
+/* flag for if timekeeping is suspended */
 static int timekeeping_suspended;
+/* time in seconds when suspend began */
 static unsigned long timekeeping_suspend_time;
 
 /**
@@ -791,14 +800,15 @@ static unsigned long timekeeping_suspend
  */
 static int timekeeping_resume(struct sys_device *dev)
 {
-	unsigned long flags, now = read_persistent_clock();
+	unsigned long flags;
+	unsigned long now = read_persistent_clock();
 
 	write_seqlock_irqsave(&xtime_lock, flags);
 
 	if (now && (now > timekeeping_suspend_time)) {
 		unsigned long sleep_length = now - timekeeping_suspend_time;
 		xtime.tv_sec += sleep_length;
-		jiffies_64 += sleep_length * HZ;
+		jiffies_64 += (u64)sleep_length * HZ;
 	}
 	/* re-base the last cycle value */
 	clock->cycle_last = clocksource_read(clock);
_

Patches currently in -mm which might be from johnstul@xxxxxxxxxx are

gtod-persistent-clock-support-core-update.patch
gtod-persistent-clock-support-i386.patch
gtod-persistent-clock-support-i386-update.patch
gtod-persistent-clock-support-i386-update-fix.patch
time-uninline-jiffiesh.patch
time-fix-msecs_to_jiffies-bug.patch
time-fix-timeout-overflow.patch
cleanup-uninline-irq_enter-and-move-it-into-a.patch
dynticks-extend-next_timer_interrupt-to-use-a.patch
hrtimers-namespace-and-enum-cleanup.patch
hrtimers-clean-up-locking.patch
hrtimers-state-tracking.patch
hrtimers-state-tracking-fix.patch
hrtimers-clean-up-callback-tracking.patch
hrtimers-move-and-add-documentation.patch
clockevents-core.patch
clockevents-drivers-for-i386.patch
clockevents-drivers-for-i386-fix.patch
high-res-timers-core.patch
high-res-timers-core-fix.patch
dynticks-core.patch
dynticks-core-nmi-watchdog-fix.patch
dyntick-add-nohz-stats-to-proc-stat.patch
dynticks-i386-arch-code.patch
high-res-timers-dynticks-enable-i386-support.patch
debugging-feature-timer-stats.patch
debugging-feature-timer-stats-fix.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux