Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux..

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andi Kleen
Date: Wednesday, March 5, 2008 - 10:45 am

Valdis.Kletnieks@vt.edu writes:

Try this patch:

Remove unlikelies in vsyscall path

Remove unlikely in vsyscall path that conflict with unlikely profiling.
The unlikelies shouldn't be needed anyways because gcc predicts
condition leading to early return as unlikely by default and
for the loops it shouldn't make much difference

Signed-off-by: Andi Kleen <ak@suse.de>

Index: linux/arch/x86/kernel/vsyscall_64.c
===================================================================
--- linux.orig/arch/x86/kernel/vsyscall_64.c
+++ linux/arch/x86/kernel/vsyscall_64.c
@@ -128,7 +128,7 @@ static __always_inline void do_vgettimeo
 		seq = read_seqbegin(&__vsyscall_gtod_data.lock);
 
 		vread = __vsyscall_gtod_data.clock.vread;
-		if (unlikely(!__vsyscall_gtod_data.sysctl_enabled || !vread)) {
+		if (!__vsyscall_gtod_data.sysctl_enabled || !vread) {
 			gettimeofday(tv,NULL);
 			return;
 		}
@@ -169,7 +169,7 @@ time_t __vsyscall(1) vtime(time_t *t)
 {
 	struct timeval tv;
 	time_t result;
-	if (unlikely(!__vsyscall_gtod_data.sysctl_enabled))
+	if (!__vsyscall_gtod_data.sysctl_enabled)
 		return time_syscall(t);
 
 	vgettimeofday(&tv, NULL);
Index: linux/arch/x86/vdso/vclock_gettime.c
===================================================================
--- linux.orig/arch/x86/vdso/vclock_gettime.c
+++ linux/arch/x86/vdso/vclock_gettime.c
@@ -48,7 +48,7 @@ static noinline int do_realtime(struct t
 		ts->tv_sec = gtod->wall_time_sec;
 		ts->tv_nsec = gtod->wall_time_nsec;
 		ns = vgetns();
-	} while (unlikely(read_seqretry(&gtod->lock, seq)));
+	} while (read_seqretry(&gtod->lock, seq));
 	timespec_add_ns(ts, ns);
 	return 0;
 }
@@ -77,7 +77,7 @@ static noinline int do_monotonic(struct 
 		ns = gtod->wall_time_nsec + vgetns();
 		secs += gtod->wall_to_monotonic.tv_sec;
 		ns += gtod->wall_to_monotonic.tv_nsec;
-	} while (unlikely(read_seqretry(&gtod->lock, seq)));
+	} while (read_seqretry(&gtod->lock, seq));
 	vset_normalized_timespec(ts, secs, ns);
 	return 0;
 }
@@ -105,7 +105,7 @@ int __vdso_gettimeofday(struct timeval *
 			     sizeof(*tv) != sizeof(struct timespec));
 		do_realtime((struct timespec *)tv);
 		tv->tv_usec /= 1000;
-		if (unlikely(tz != NULL)) {
+		if (tz != NULL) {
 			/* This relies on gcc inlining the memcpy. We'll notice
 			   if it ever fails to do so. */
 			memcpy(tz, &gtod->sys_tz, sizeof(struct timezone));
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.25-rc3-mm1, Andrew Morton, (Tue Mar 4, 2:19 am)
Re: 2.6.25-rc3-mm1, Cornelia Huck, (Tue Mar 4, 4:59 am)
[BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powerpc (), Kamalesh Babulal, (Tue Mar 4, 6:12 am)
Re: 2.6.25-rc3-mm1 (IDE), Randy Dunlap, (Tue Mar 4, 9:35 am)
Re: 2.6.25-rc3-mm1 (CCISS), Randy Dunlap, (Tue Mar 4, 9:45 am)
RE: 2.6.25-rc3-mm1 (CCISS), Miller, Mike (OS Dev), (Tue Mar 4, 10:02 am)
Re: 2.6.25-rc3-mm1 (CCISS), Randy Dunlap, (Tue Mar 4, 10:14 am)
Re: 2.6.25-rc3-mm1 (CCISS), Jens Axboe, (Tue Mar 4, 11:14 am)
[PATCH 2.6.25-rc3-mm1] fix ext2 borkage, Hugh Dickins, (Tue Mar 4, 12:12 pm)
[BUG] 2.6.25-rc3-mm1 kernel bug while running libhugetlbfs, Kamalesh Babulal, (Tue Mar 4, 12:20 pm)
Re: 2.6.25-rc3-mm1, Greg KH, (Tue Mar 4, 12:35 pm)
Re: 2.6.25-rc3-mm1 (wakeup), Randy Dunlap, (Tue Mar 4, 1:24 pm)
Re: 2.6.25-rc3-mm1 (9p docs), Randy Dunlap, (Tue Mar 4, 2:26 pm)
Re: 2.6.25-rc3-mm1 (9p docs), Eric Van Hensbergen, (Tue Mar 4, 2:43 pm)
Re: 2.6.25-rc3-mm1 (wakeup), Rafael J. Wysocki, (Tue Mar 4, 3:33 pm)
2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Valdis.Kletnieks, (Wed Mar 5, 12:21 am)
Re: 2.6.25-rc3-mm1 (wakeup), Sam Ravnborg, (Wed Mar 5, 12:40 am)
Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powe ..., Benjamin Herrenschmidt, (Wed Mar 5, 1:22 am)
Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powe ..., Benjamin Herrenschmidt, (Wed Mar 5, 1:23 am)
prctl(0x8) -&gt; EINVAL [Was: 2.6.25-rc3-mm1], Jiri Slaby, (Wed Mar 5, 3:51 am)
Re: prctl(0x8) -&gt; EINVAL [Was: 2.6.25-rc3-mm1], Jiri Slaby, (Wed Mar 5, 3:59 am)
Re: 2.6.25-rc3-mm1, Pavel Emelyanov, (Wed Mar 5, 6:04 am)
Re: 2.6.25-rc3-mm1 (SYSFS=n breaks module engine), Pavel Emelyanov, (Wed Mar 5, 6:12 am)
Re: 2.6.25-rc3-mm1, Kay Sievers, (Wed Mar 5, 6:31 am)
Re: 2.6.25-rc3-mm1, Pavel Emelyanov, (Wed Mar 5, 6:38 am)
Re: 2.6.25-rc3-mm1, Kay Sievers, (Wed Mar 5, 6:54 am)
Re: prctl(0x8) -&gt; EINVAL [Was: 2.6.25-rc3-mm1], Serge E. Hallyn, (Wed Mar 5, 7:06 am)
Re: 2.6.25-rc3-mm1, Pavel Emelyanov, (Wed Mar 5, 7:28 am)
Re: prctl(0x8) -&gt; EINVAL [Was: 2.6.25-rc3-mm1], Jiri Slaby, (Wed Mar 5, 8:18 am)
Re: 2.6.25-rc3-mm1, Greg KH, (Wed Mar 5, 9:40 am)
Re: 2.6.25-rc3-mm1, Pavel Emelyanov, (Wed Mar 5, 9:59 am)
Re: 2.6.25-rc3-mm1, Greg KH, (Wed Mar 5, 10:07 am)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Andi Kleen, (Wed Mar 5, 10:45 am)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Andrew Morton, (Wed Mar 5, 11:02 am)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Andi Kleen, (Wed Mar 5, 11:22 am)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Valdis.Kletnieks, (Wed Mar 5, 12:59 pm)
2.6.25-rc3-mm1 ppc64 boot hang, Badari Pulavarty, (Wed Mar 5, 2:34 pm)
Re: 2.6.25-rc3-mm1 ppc64 boot hang, Andrew Morton, (Wed Mar 5, 2:54 pm)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Andi Kleen, (Wed Mar 5, 2:56 pm)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Valdis.Kletnieks, (Wed Mar 5, 3:26 pm)
Re: 2.6.25-rc3-mm1 ppc64 boot hang, Badari Pulavarty, (Wed Mar 5, 3:35 pm)
Re: 2.6.25-rc3-mm1 ppc64 boot hang, Stephen Rothwell, (Wed Mar 5, 4:17 pm)
Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux.., Andrew Morton, (Wed Mar 5, 4:49 pm)
Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powe ..., Benjamin Herrenschmidt, (Wed Mar 5, 5:03 pm)
Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powe ..., Benjamin Herrenschmidt, (Wed Mar 5, 5:52 pm)
Re: 2.6.25-rc3-mm1 (IDE), Bartlomiej Zolnierki ..., (Thu Mar 6, 2:14 pm)
2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Thu Mar 6, 8:58 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Andrew Morton, (Thu Mar 6, 11:16 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 7, 12:52 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Thomas Gleixner, (Fri Mar 7, 1:06 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 7, 1:23 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Thomas Gleixner, (Fri Mar 7, 1:34 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 7, 12:30 pm)
Re: prctl(0x8) -&gt; EINVAL [Was: 2.6.25-rc3-mm1], Andrew Morgan, (Sun Mar 9, 9:28 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Andrew Morton, (Wed Mar 12, 12:32 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Wed Mar 12, 7:19 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Andrew Morton, (Wed Mar 12, 7:32 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Wed Mar 12, 8:57 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Andrew Morton, (Wed Mar 12, 9:27 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 14, 11:50 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Ingo Molnar, (Fri Mar 21, 6:41 am)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 21, 12:38 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Ingo Molnar, (Fri Mar 21, 12:58 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Valdis.Kletnieks, (Fri Mar 21, 1:05 pm)
Re: 2.6.25-rc3-mm1 - BUG at system shutdown time, Ingo Molnar, (Fri Mar 21, 1:12 pm)
Hoo-fscking-ray - (was Re: 2.6.25-rc3-mm1 - BUG at system ..., Valdis.Kletnieks, (Fri Mar 21, 8:11 pm)