[PATCH] x86_64: inline function prefix with __always_inline in vsyscall
authormao, bibo <bibo.mao@intel.com>
Tue, 11 Apr 2006 10:54:54 +0000 (12:54 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 11 Apr 2006 13:38:57 +0000 (06:38 -0700)
In vsyscall function do_vgettimeofday(), some functions are declared as
inlined, which is a hint for gcc to compile the function inlined but it
not forced.  Sometimes compiler does not compile the function as
inlined, so here inline is replaced by __always_inline prefix.

It does not happen in gcc compiler actually, but it possibly happens.

Signed-off-by: bibo mao <bibo.mao@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-x86_64/io.h
include/linux/seqlock.h

index cafdfb3..a05da8a 100644 (file)
@@ -177,7 +177,7 @@ static inline __u16 __readw(const volatile void __iomem *addr)
 {
        return *(__force volatile __u16 *)addr;
 }
-static inline __u32 __readl(const volatile void __iomem *addr)
+static __always_inline __u32 __readl(const volatile void __iomem *addr)
 {
        return *(__force volatile __u32 *)addr;
 }
index fca9b0f..5a09557 100644 (file)
@@ -73,7 +73,7 @@ static inline int write_tryseqlock(seqlock_t *sl)
 }
 
 /* Start of read calculation -- fetch last complete writer token */
-static inline unsigned read_seqbegin(const seqlock_t *sl)
+static __always_inline unsigned read_seqbegin(const seqlock_t *sl)
 {
        unsigned ret = sl->sequence;
        smp_rmb();
@@ -88,7 +88,7 @@ static inline unsigned read_seqbegin(const seqlock_t *sl)
  *    
  * Using xor saves one conditional branch.
  */
-static inline int read_seqretry(const seqlock_t *sl, unsigned iv)
+static __always_inline int read_seqretry(const seqlock_t *sl, unsigned iv)
 {
        smp_rmb();
        return (iv & 1) | (sl->sequence ^ iv);