From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: mingo@elte.hu, Thomas Gleixner <tglx@linutronix.de>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Fwd: [PATCH] 2.6.18-rt7: fix more issues with 32-bit cycles_t in latency_trace.c
Date: Thu, 12 Jul 2007 21:06:27 +0400 [thread overview]
Message-ID: <46965F93.2090806@ru.mvista.com> (raw)
In-Reply-To: <200611130026.17204.sshtylyov@ru.mvista.com>
Hello, I wrote:
> In addition to clock wrap check being falsely triggered with 32-bit cycles_t,
> as noticed to Kevin Hilman, there's another issue: using %Lx format to print
> 32-bit values warrants erroneous values on 32-bit machines like ARM and PPC32.
> Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
> ---
> PPC32 actually has 64-bit timebase counter, so could provide for 64-bit
> cycles_t -- maybe it's worth to rewrite get_cycles() to read both lower and
> upper registers?
This one (called latency-tracer-prink-fix.patch in the broken out
patchset) has been erroneously "restored" some months ago. Since
preempt_max_latency is of type 'unsigned long' now and all the other vars are
of type 'cycle_t' (which aliases 'u64'), only the first cast is actually
needed (or rather, the first format specifier needs to be changed to %08lx).
Erm, maybe I'll cook a patch...
> Index: linux-2.6/kernel/latency_trace.c
> ===================================================================
> --- linux-2.6.orig/kernel/latency_trace.c
> +++ linux-2.6/kernel/latency_trace.c
> @@ -1623,8 +1623,8 @@ check_critical_timing(int cpu, struct cp
> #ifndef CONFIG_CRITICAL_LATENCY_HIST
> if (!preempt_thresh && preempt_max_latency > delta) {
> printk("bug: updating %016Lx > %016Lx?\n",
> - preempt_max_latency, delta);
> - printk(" [%016Lx %016Lx %016Lx]\n", T0, T1, T2);
> + (u64)preempt_max_latency, (u64)delta);
> + printk(" [%016Lx %016Lx %016Lx]\n", (u64)T0, (u64)T1, (u64)T2);
> }
> #endif
WBR, Sergei
prev parent reply other threads:[~2007-07-12 17:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-12 21:26 Fwd: [PATCH] 2.6.18-rt7: fix more issues with 32-bit cycles_t in latency_trace.c Sergei Shtylyov
2007-07-12 17:06 ` Sergei Shtylyov [this message]
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=46965F93.2090806@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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.