Re: [PATCH][resubmit] x86: enable preemption in delay
From: Andi Kleen <hidden>
Date: 2008-06-01 16:16:24
Also in:
lkml
From: Andi Kleen <hidden>
Date: 2008-06-01 16:16:24
Also in:
lkml
static void delay_tsc(unsigned long loops)
{
- unsigned long bclock, now;
+ unsigned prev, prev_1, now;
+ unsigned left = loops;
+ unsigned prev_cpu, cpu;
+
+ preempt_disable();
+ rdtscl(prev);The unsigneds should be probably u64 and the rdtsc rdtscll. Otherwise this will all overflow for longer waits on a very fast systems (e.g. a 5Ghz system wraps 32bit in ~1.1 seconds) Normally such delays shouldn't be that long, but why risk overflow even in extreme cases? -Andi