All of lore.kernel.org
 help / color / mirror / Atom feed
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);
 }
 
 /*

  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.