git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
x86_64
/
kernel
/
vsyscall.c
diff --git
a/arch/x86_64/kernel/vsyscall.c
b/arch/x86_64/kernel/vsyscall.c
index
2e57344
..
9468fb2
100644
(file)
--- a/
arch/x86_64/kernel/vsyscall.c
+++ b/
arch/x86_64/kernel/vsyscall.c
@@
-35,14
+35,13
@@
#include <asm/io.h>
#define __vsyscall(nr) __attribute__ ((unused,__section__(".vsyscall_" #nr)))
#include <asm/io.h>
#define __vsyscall(nr) __attribute__ ((unused,__section__(".vsyscall_" #nr)))
-#define force_inline __attribute__((always_inline)) inline
int __sysctl_vsyscall __section_sysctl_vsyscall = 1;
seqlock_t __xtime_lock __section_xtime_lock = SEQLOCK_UNLOCKED;
#include <asm/unistd.h>
int __sysctl_vsyscall __section_sysctl_vsyscall = 1;
seqlock_t __xtime_lock __section_xtime_lock = SEQLOCK_UNLOCKED;
#include <asm/unistd.h>
-static
force
_inline void timeval_normalize(struct timeval * tv)
+static
__always
_inline void timeval_normalize(struct timeval * tv)
{
time_t __sec;
{
time_t __sec;
@@
-53,7
+52,7
@@
static force_inline void timeval_normalize(struct timeval * tv)
}
}
}
}
-static
force
_inline void do_vgettimeofday(struct timeval * tv)
+static
__always
_inline void do_vgettimeofday(struct timeval * tv)
{
long sequence, t;
unsigned long sec, usec;
{
long sequence, t;
unsigned long sec, usec;
@@
-66,8
+65,7
@@
static force_inline void do_vgettimeofday(struct timeval * tv)
(__jiffies - __wall_jiffies) * (1000000 / HZ);
if (__vxtime.mode != VXTIME_HPET) {
(__jiffies - __wall_jiffies) * (1000000 / HZ);
if (__vxtime.mode != VXTIME_HPET) {
- sync_core();
- rdtscll(t);
+ t = get_cycles_sync();
if (t < __vxtime.last_tsc)
t = __vxtime.last_tsc;
usec += ((t - __vxtime.last_tsc) *
if (t < __vxtime.last_tsc)
t = __vxtime.last_tsc;
usec += ((t - __vxtime.last_tsc) *
@@
-84,12
+82,12
@@
static force_inline void do_vgettimeofday(struct timeval * tv)
}
/* RED-PEN may want to readd seq locking, but then the variable should be write-once. */
}
/* RED-PEN may want to readd seq locking, but then the variable should be write-once. */
-static
force
_inline void do_get_tz(struct timezone * tz)
+static
__always
_inline void do_get_tz(struct timezone * tz)
{
*tz = __sys_tz;
}
{
*tz = __sys_tz;
}
-static
force
_inline int gettimeofday(struct timeval *tv, struct timezone *tz)
+static
__always
_inline int gettimeofday(struct timeval *tv, struct timezone *tz)
{
int ret;
asm volatile("vsysc2: syscall"
{
int ret;
asm volatile("vsysc2: syscall"
@@
-98,7
+96,7
@@
static force_inline int gettimeofday(struct timeval *tv, struct timezone *tz)
return ret;
}
return ret;
}
-static
force
_inline long time_syscall(long *t)
+static
__always
_inline long time_syscall(long *t)
{
long secs;
asm volatile("vsysc1: syscall"
{
long secs;
asm volatile("vsysc1: syscall"
@@
-107,7
+105,7
@@
static force_inline long time_syscall(long *t)
return secs;
}
return secs;
}
-
static
int __vsyscall(0) vgettimeofday(struct timeval * tv, struct timezone * tz)
+int __vsyscall(0) vgettimeofday(struct timeval * tv, struct timezone * tz)
{
if (unlikely(!__sysctl_vsyscall))
return gettimeofday(tv,tz);
{
if (unlikely(!__sysctl_vsyscall))
return gettimeofday(tv,tz);
@@
-120,7
+118,7
@@
static int __vsyscall(0) vgettimeofday(struct timeval * tv, struct timezone * tz
/* This will break when the xtime seconds get inaccurate, but that is
* unlikely */
/* This will break when the xtime seconds get inaccurate, but that is
* unlikely */
-
static
time_t __vsyscall(1) vtime(time_t *t)
+time_t __vsyscall(1) vtime(time_t *t)
{
if (unlikely(!__sysctl_vsyscall))
return time_syscall(t);
{
if (unlikely(!__sysctl_vsyscall))
return time_syscall(t);
@@
-129,12
+127,12
@@
static time_t __vsyscall(1) vtime(time_t *t)
return __xtime.tv_sec;
}
return __xtime.tv_sec;
}
-
static
long __vsyscall(2) venosys_0(void)
+long __vsyscall(2) venosys_0(void)
{
return -ENOSYS;
}
{
return -ENOSYS;
}
-
static
long __vsyscall(3) venosys_1(void)
+long __vsyscall(3) venosys_1(void)
{
return -ENOSYS;
}
{
return -ENOSYS;
}