Messages in this thread | | | Date | Mon, 04 Dec 2006 20:09:56 +0300 | From | Sergei Shtylyov <> | Subject | Re: [PATCH] 2.6.18-rt7: fix more issues with 32-bit cycles_t in latency_trace.c (take 3) |
| |
Hello.
Ingo Molnar wrote:
>>> /* check for buggy clocks, handling wrap for 32-bit clocks */ >>>- if (TYPE_EQUAL(cycles_t, unsigned long)) { >>>+ if (TYPE_EQUAL(cycle_t, unsigned long)) { >>> if (time_after((unsigned long)T1, (unsigned long)T2)) >>> printk("bug: %08lx < %08lx!\n", >>> (unsigned long)T2, (unsigned long)T1);
>> This earlier fix by Kevin woulnd't have sense anymore with cycle_t...
> yeah, indeed - i've zapped this one too.
Moreover, it was somewhat incorrect from the very start since 'unsigned long' is 64-bit on 64-bit machines, and cycles_t is 'unsigned long' on both PPC32 and PPC64, so else branch would've *never* be executed...
> basically, what i'd like is the 32-bit clocks/cycles be handled > intelligently, and not adding to the cruft that already is in > kernel/latency_tracing.c.
Yeah, I've looked at 2.6.19-rt2 and saw the new approach. But what's left to fix there, only the case of using PPC32 raw cycles? I guess you only need to cast a result of get_cycles() to cycle_t... wait, it'll be explicitly cast in the return stmt, won't it?
> Ingo
WBR, Sergei - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |