[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] cpufreq: weird bug in set_time_scale



Yep, that case is not acceptable for the DIV instruction, because it causes
overflow of the quotient. It's fixed by xen-unstable changeset 16098.

It's a one-char fix: the loop on (tps32 < MILLISECS(1000)) needs to be
(tps32 <= MILLISECS(1000)).

 -- Keir

On 11/10/07 19:14, "Jean Pihet" <jpihet@xxxxxxxxxx> wrote:

> Hi,
> 
> The problem is in divl instruction which throws a 'Floating point exception'.
> In the case below the dividend and the divisor are equal. Is that allowed by
> the instruction?
> 
> On the ARM code that we are currently implementing, there is no crash =;-) but
> the result is 0, which does not seem correct.
> 
> Should the assert in div_frac be changed to avoid weird results or crash?
> 
> Regards,
> Jean
> 
> On Thursday 11 October 2007 19:43:08 Keir Fraser wrote:
>> That's my code. I'll take a look!
>> 
>>  K.
>> 
>> On 11/10/07 16:55, "Langsdorf, Mark" <mark.langsdorf@xxxxxxx> wrote:
>>> On my test machine, in set_time_scale(),
>>> the following code:
>>> ts->mul_frac = div_frac(MILLISECS(1000), tps32);
>>> crashes with a division by zero error if
>>> tps32 == 1000000000d.  Unfortunately, tps32 is
>>> often that value.
>>> 
>>> Does anyone know why this happens?  I've
>>> resolved it temporarily by checking for
>>> tps32 == 1000000000 and changing the
>>> value slightly (101000010d works fine
>>> on my test machine), but I'm not sure
>>> if that's the approved approach for Xen.
>>> 
>>> -Mark Langsdorf
>>> Operating System Research Center
>>> AMD
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.