lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1322678599.2414.1.camel@js-netbook>
Date:	Wed, 30 Nov 2011 10:43:19 -0800
From:	John Stultz <johnstul@...ibm.com>
To:	"Yang Honggang(Joseph)" <ganggexiongqi@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: clocksource.c "margin"

On Wed, 2011-11-30 at 19:09 -0500, Yang Honggang(Joseph) wrote:
> Hi John Stultz,
> I'm very sorry to trouble you. A problem puzzled me when I reading your 
> code in kernel/time/clocksource.c.
> In the following functions, your said in the comments that >>5 was used 
> to leave a margin of 12.5%.
> I don't know how to get the result. I think is should be >> 3 in order 
> to leave a margin of 12.5%.
> The operation of >> 5 only left 3.125% margin.
> 
> __clocksource_updatefreq_scale
> ...
> sec = (cs->mask - (cs->mask >> 5));
> ...
> clocksource_max_deferment
> ...
>      /*
>       * To ensure that the clocksource does not wrap whilst we are idle,
>       * limit the time the clocksource can be deferred by 12.5%. Please
>       * note a margin of 12.5% is used because this can be computed with
>       * a shift, versus say 10% which would require division.
>       */
>      return max_nsecs - (max_nsecs >> 5);
> ...

Indeed. This looks wrong.

Would you like to send a patch in correcting this issue? If not, let me
know and I'll do so.

thanks
-john


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ