Displaying 10 results from an estimated 10 matches for "update_xtime_from_wallclock".
2007 Apr 18
0
[PATCH 7/9] Fix nohz compile.patch
...EFLAGS_IF);
}
diff -r 5d41588419ab arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c Tue Feb 27 17:24:55 2007 -0800
+++ b/arch/i386/kernel/vmitime.c Tue Feb 27 18:47:51 2007 -0800
@@ -153,13 +153,6 @@ static void vmi_get_wallclock_ts(struct
ts->tv_sec = wallclock;
}
-static void update_xtime_from_wallclock(void)
-{
- struct timespec ts;
- vmi_get_wallclock_ts(&ts);
- do_settimeofday(&ts);
-}
-
unsigned long vmi_get_wallclock(void)
{
struct timespec ts;
@@ -197,18 +190,10 @@ void __init vmi_time_init(void)
set_intr_gate(LOCAL_TIMER_VECTOR, apic_vmi_timer_interrupt);
#endif
- no_sync_c...
2007 Apr 18
0
[PATCH 7/9] Fix nohz compile.patch
...EFLAGS_IF);
}
diff -r 5d41588419ab arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c Tue Feb 27 17:24:55 2007 -0800
+++ b/arch/i386/kernel/vmitime.c Tue Feb 27 18:47:51 2007 -0800
@@ -153,13 +153,6 @@ static void vmi_get_wallclock_ts(struct
ts->tv_sec = wallclock;
}
-static void update_xtime_from_wallclock(void)
-{
- struct timespec ts;
- vmi_get_wallclock_ts(&ts);
- do_settimeofday(&ts);
-}
-
unsigned long vmi_get_wallclock(void)
{
struct timespec ts;
@@ -197,18 +190,10 @@ void __init vmi_time_init(void)
set_intr_gate(LOCAL_TIMER_VECTOR, apic_vmi_timer_interrupt);
#endif
- no_sync_c...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...rate_setup);
+
+
+/* Initialization */
+static inline void vmi_get_wallclock_ts(struct timespec *ts)
+{
+ unsigned long long wallclock;
+ wallclock = vmi_timer_ops.get_wallclock(); // nsec units
+ ts->tv_nsec = do_div(wallclock, 1000000000);
+ ts->tv_sec = wallclock;
+}
+
+static inline void update_xtime_from_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ do_settimeofday(&ts);
+}
+
+unsigned long vmi_get_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ return ts.tv_sec;
+}
+
+int vmi_set_wallclock(unsigned long now)
+{
+ return -1;
+}
+
+unsigned long lo...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...rate_setup);
+
+
+/* Initialization */
+static inline void vmi_get_wallclock_ts(struct timespec *ts)
+{
+ unsigned long long wallclock;
+ wallclock = vmi_timer_ops.get_wallclock(); // nsec units
+ ts->tv_nsec = do_div(wallclock, 1000000000);
+ ts->tv_sec = wallclock;
+}
+
+static inline void update_xtime_from_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ do_settimeofday(&ts);
+}
+
+unsigned long vmi_get_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ return ts.tv_sec;
+}
+
+int vmi_set_wallclock(unsigned long now)
+{
+ return -1;
+}
+
+unsigned long lo...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...rate_setup);
+
+
+/* Initialization */
+static inline void vmi_get_wallclock_ts(struct timespec *ts)
+{
+ unsigned long long wallclock;
+ wallclock = vmi_timer_ops.get_wallclock(); // nsec units
+ ts->tv_nsec = do_div(wallclock, 1000000000);
+ ts->tv_sec = wallclock;
+}
+
+static inline void update_xtime_from_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ do_settimeofday(&ts);
+}
+
+unsigned long vmi_get_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ return ts.tv_sec;
+}
+
+int vmi_set_wallclock(unsigned long now)
+{
+ return -1;
+}
+
+unsigned long lo...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...rate_setup);
+
+
+/* Initialization */
+static inline void vmi_get_wallclock_ts(struct timespec *ts)
+{
+ unsigned long long wallclock;
+ wallclock = vmi_timer_ops.get_wallclock(); // nsec units
+ ts->tv_nsec = do_div(wallclock, 1000000000);
+ ts->tv_sec = wallclock;
+}
+
+static inline void update_xtime_from_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ do_settimeofday(&ts);
+}
+
+unsigned long vmi_get_wallclock(void)
+{
+ struct timespec ts;
+ vmi_get_wallclock_ts(&ts);
+ return ts.tv_sec;
+}
+
+int vmi_set_wallclock(unsigned long now)
+{
+ return -1;
+}
+
+unsigned long lo...
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...;
while (cycles_not_accounted >= cycles_per_jiffy) {
- /* systems wide jiffies and wallclock. */
+ /* systems wide jiffies. */
do_timer(1);
cycles_not_accounted -= cycles_per_jiffy;
real_cycles_accounted_system += cycles_per_jiffy;
}
-
- if (vmi_timer_ops.wallclock_updated())
- update_xtime_from_wallclock();
write_sequnlock(&xtime_lock);
}
@@ -380,7 +377,6 @@ int vmi_stop_hz_timer(void)
unsigned long seq, next;
unsigned long long real_cycles_expiry;
int cpu = smp_processor_id();
- int idle;
BUG_ON(!irqs_disabled());
if (sysctl_hz_timer != 0)
@@ -388,13 +384,13 @@ int vmi_stop_hz...
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...;
while (cycles_not_accounted >= cycles_per_jiffy) {
- /* systems wide jiffies and wallclock. */
+ /* systems wide jiffies. */
do_timer(1);
cycles_not_accounted -= cycles_per_jiffy;
real_cycles_accounted_system += cycles_per_jiffy;
}
-
- if (vmi_timer_ops.wallclock_updated())
- update_xtime_from_wallclock();
write_sequnlock(&xtime_lock);
}
@@ -380,7 +377,6 @@ int vmi_stop_hz_timer(void)
unsigned long seq, next;
unsigned long long real_cycles_expiry;
int cpu = smp_processor_id();
- int idle;
BUG_ON(!irqs_disabled());
if (sysctl_hz_timer != 0)
@@ -388,13 +384,13 @@ int vmi_stop_hz...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...No delay on virtual hardware. */
+}
+
+static void mark_offset_vmi(void)
+{
+ /* Not used by vmi timer handler. */
+ BUG();
+}
+
+void __init setup_vmi_timer(void)
+{
+ /* Fall back to PIT timer -- for transparent para-virt. */
+ if (!vmi_timer_used())
+ setup_pit_timer();
+}
+
+static inline void update_xtime_from_wallclock(long long cycles_offset)
+{
+ unsigned long long wallclock;
+ time_t wtm_sec, wall_sec;
+ long wtm_nsec, wall_nsec;
+
+ wallclock = vmi_get_wallclock(); // nsec units
+
+ /* Adjust wallclock time to the value it would have had on the
+ * last accounted xtime tick. */
+ if (cycles_offset > 0)
+...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...No delay on virtual hardware. */
+}
+
+static void mark_offset_vmi(void)
+{
+ /* Not used by vmi timer handler. */
+ BUG();
+}
+
+void __init setup_vmi_timer(void)
+{
+ /* Fall back to PIT timer -- for transparent para-virt. */
+ if (!vmi_timer_used())
+ setup_pit_timer();
+}
+
+static inline void update_xtime_from_wallclock(long long cycles_offset)
+{
+ unsigned long long wallclock;
+ time_t wtm_sec, wall_sec;
+ long wtm_nsec, wall_nsec;
+
+ wallclock = vmi_get_wallclock(); // nsec units
+
+ /* Adjust wallclock time to the value it would have had on the
+ * last accounted xtime tick. */
+ if (cycles_offset > 0)
+...