From: Andi Kleen <andi@firstfloor.org>
To: Valdis.Kletnieks@vt.edu
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: 2.6.25-rc3-mm1 - PROFILE_LIKELY redux..
Date: Wed, 05 Mar 2008 18:45:13 +0100 [thread overview]
Message-ID: <p738x0x5al2.fsf@bingen.suse.de> (raw)
In-Reply-To: <4911.1204701694@turing-police.cc.vt.edu> (Valdis Kletnieks's message of "Wed\, 05 Mar 2008 02\:21\:34 -0500")
Valdis.Kletnieks@vt.edu writes:
>
> So we're in the same 4K as the VDSO64_* values, but some 0x4fe past the
> gtod_data. Anybody got a hint as to what the heck it was doing?
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(>od->lock, seq)));
+ } while (read_seqretry(>od->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(>od->lock, seq)));
+ } while (read_seqretry(>od->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, >od->sys_tz, sizeof(struct timezone));
next prev parent reply other threads:[~2008-03-05 17:45 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-04 9:19 2.6.25-rc3-mm1 Andrew Morton
2008-03-04 11:59 ` 2.6.25-rc3-mm1 Cornelia Huck
2008-03-04 19:35 ` 2.6.25-rc3-mm1 Greg KH
2008-03-04 13:12 ` [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powerpc () Kamalesh Babulal
2008-03-04 14:40 ` Michael Neuling
2008-03-04 18:33 ` Andrew Morton
2008-03-05 8:23 ` Benjamin Herrenschmidt
2008-03-06 0:03 ` Benjamin Herrenschmidt
2008-03-06 0:44 ` Andrew Morton
2008-03-06 0:52 ` Benjamin Herrenschmidt
2008-03-04 18:36 ` Andrew Morton
2008-03-04 18:47 ` Pekka Enberg
2008-03-04 19:18 ` Pekka Enberg
2008-03-05 8:22 ` Benjamin Herrenschmidt
2008-03-04 16:35 ` 2.6.25-rc3-mm1 (IDE) Randy Dunlap
2008-03-06 21:14 ` Bartlomiej Zolnierkiewicz
2008-03-04 16:45 ` 2.6.25-rc3-mm1 (CCISS) Randy Dunlap
2008-03-04 17:02 ` Miller, Mike (OS Dev)
2008-03-04 17:14 ` Randy Dunlap
2008-03-04 18:14 ` Jens Axboe
2008-03-04 19:12 ` [PATCH 2.6.25-rc3-mm1] fix ext2 borkage Hugh Dickins
2008-03-04 19:20 ` [BUG] 2.6.25-rc3-mm1 kernel bug while running libhugetlbfs Kamalesh Babulal
2008-03-04 19:51 ` Andrew Morton
2008-03-04 22:01 ` Adam Litke
2008-03-05 7:52 ` Kamalesh Babulal
2008-03-04 20:24 ` 2.6.25-rc3-mm1 (wakeup) Randy Dunlap
2008-03-04 22:33 ` Rafael J. Wysocki
2008-03-05 7:40 ` Sam Ravnborg
2008-03-04 21:26 ` 2.6.25-rc3-mm1 (9p docs) Randy Dunlap
2008-03-04 21:43 ` Eric Van Hensbergen
2008-03-05 7:21 ` 2.6.25-rc3-mm1 - PROFILE_LIKELY redux Valdis.Kletnieks
2008-03-05 17:45 ` Andi Kleen [this message]
2008-03-05 18:02 ` Andrew Morton
2008-03-05 18:22 ` Andi Kleen
2008-03-05 22:26 ` Valdis.Kletnieks
2008-03-05 23:49 ` Andrew Morton
2008-03-05 19:59 ` Valdis.Kletnieks
2008-03-05 21:56 ` Andi Kleen
2008-03-05 10:51 ` prctl(0x8) -> EINVAL [Was: 2.6.25-rc3-mm1] Jiri Slaby
2008-03-05 10:59 ` Jiri Slaby
2008-03-05 14:06 ` Serge E. Hallyn
2008-03-05 15:18 ` Jiri Slaby
2008-03-09 16:28 ` Andrew Morgan
2008-03-05 13:04 ` 2.6.25-rc3-mm1 Pavel Emelyanov
2008-03-05 13:12 ` 2.6.25-rc3-mm1 (SYSFS=n breaks module engine) Pavel Emelyanov
2008-03-05 13:31 ` 2.6.25-rc3-mm1 Kay Sievers
2008-03-05 13:38 ` 2.6.25-rc3-mm1 Pavel Emelyanov
2008-03-05 13:54 ` 2.6.25-rc3-mm1 Kay Sievers
2008-03-05 14:28 ` 2.6.25-rc3-mm1 Pavel Emelyanov
2008-03-05 16:40 ` 2.6.25-rc3-mm1 Greg KH
2008-03-05 16:59 ` 2.6.25-rc3-mm1 Pavel Emelyanov
2008-03-05 17:07 ` 2.6.25-rc3-mm1 Greg KH
2008-03-05 21:34 ` 2.6.25-rc3-mm1 ppc64 boot hang Badari Pulavarty
2008-03-05 21:54 ` Andrew Morton
2008-03-05 22:35 ` Badari Pulavarty
2008-03-05 23:17 ` Stephen Rothwell
2008-03-07 3:58 ` 2.6.25-rc3-mm1 - BUG at system shutdown time Valdis.Kletnieks
2008-03-07 6:16 ` Andrew Morton
2008-03-07 7:52 ` Valdis.Kletnieks
2008-03-07 8:06 ` Thomas Gleixner
2008-03-07 8:23 ` Valdis.Kletnieks
2008-03-07 8:34 ` Thomas Gleixner
2008-03-07 19:30 ` Valdis.Kletnieks
2008-03-12 7:32 ` Andrew Morton
2008-03-13 2:19 ` Valdis.Kletnieks
2008-03-13 2:32 ` Andrew Morton
2008-03-13 3:57 ` Valdis.Kletnieks
2008-03-13 4:27 ` Andrew Morton
2008-03-14 18:50 ` Valdis.Kletnieks
2008-03-21 13:41 ` Ingo Molnar
2008-03-21 19:38 ` Valdis.Kletnieks
2008-03-21 19:58 ` Ingo Molnar
2008-03-21 20:05 ` Valdis.Kletnieks
2008-03-21 20:12 ` Ingo Molnar
2008-03-22 3:11 ` Hoo-fscking-ray - (was " Valdis.Kletnieks
2008-03-22 12:09 ` Ingo Molnar
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=p738x0x5al2.fsf@bingen.suse.de \
--to=andi@firstfloor.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome