From: john stultz <johnstul@us.ibm.com>
To: ak@suse.de
Cc: john stultz <johnstul@us.ibm.com>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/6] x86_64: Enable arch-generic vsyscall support.
Date: Wed, 6 Sep 2006 20:18:49 -0600 [thread overview]
Message-ID: <20060907021826.31476.38224.sendpatchset@localhost> (raw)
In-Reply-To: <20060907021820.31476.17484.sendpatchset@localhost>
Provides generic infrastructure for vsyscall-gtod.
Signed-off-by: John Stultz <johnstul@us.ibm.com>
include/linux/clocksource.h | 8 ++++++++
include/linux/time.h | 1 +
kernel/timer.c | 1 +
3 files changed, 10 insertions(+)
linux-2.6.18-rc6_timeofday-vsyscall-support_C6.patch
============================================
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index d852024..cd4d514 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -46,6 +46,7 @@ typedef u64 cycle_t;
* @shift: cycle to nanosecond divisor (power of two)
* @update_callback: called when safe to alter clocksource values
* @is_continuous: defines if clocksource is free-running.
+ * @vread: vsyscall based read
* @cycle_interval: Used internally by timekeeping core, please ignore.
* @xtime_interval: Used internally by timekeeping core, please ignore.
*/
@@ -59,6 +60,7 @@ struct clocksource {
u32 shift;
int (*update_callback)(void);
int is_continuous;
+ cycle_t (*vread)(void);
/* timekeeping specific data, ignore */
cycle_t cycle_last, cycle_interval;
@@ -182,4 +184,10 @@ int clocksource_register(struct clocksou
void clocksource_reselect(void);
struct clocksource* clocksource_get_next(void);
+#ifdef CONFIG_GENERIC_TIME_VSYSCALL
+extern void update_vsyscall(struct timespec* ts, struct clocksource* c);
+#else
+#define update_vsyscall(now, c) do { } while(0)
+#endif
+
#endif /* _LINUX_CLOCKSOURCE_H */
diff --git a/include/linux/time.h b/include/linux/time.h
index a5b7399..14e12f0 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -174,6 +174,7 @@ static inline void timespec_add_ns(struc
}
a->tv_nsec = ns;
}
+
#endif /* __KERNEL__ */
#define NFDBITS __NFDBITS
diff --git a/kernel/timer.c b/kernel/timer.c
index 1d7dd62..a444016 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1165,6 +1165,7 @@ static void update_wall_time(void)
clock->xtime_nsec = 0;
clocksource_calculate_interval(clock, tick_nsec);
}
+ update_vsyscall(&xtime, clock);
}
/*
next prev parent reply other threads:[~2006-09-07 2:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-07 2:18 [PATCH 0/6] x86_64: Generic timekeeping for x86_64 john stultz
2006-09-07 2:18 ` john stultz [this message]
2006-09-07 2:18 ` [PATCH 2/6] x86_64: hpet_address cleanup john stultz
2006-09-07 2:19 ` [PATCH 3/6] x86_64: Remove apic_runs_main_timer john stultz
2006-09-07 2:19 ` [PATCH 4/6] x86_64: Enable CONFIG_GENERIC_TIME john stultz
2006-09-07 2:19 ` [PATCH 5/6] x86_64: Clocksources for x86-64 john stultz
2006-09-07 2:19 ` [PATCH 6/6] x86_64: GENERIC_TIME based vsyscall code john stultz
2006-09-09 20:30 ` [PATCH 0/6] x86_64: Generic timekeeping for x86_64 Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060907021826.31476.38224.sendpatchset@localhost \
--to=johnstul@us.ibm.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.