[dpdk-dev] [PATCH] Revert "timer: get TSC frequency from /proc/cpuinfo"
Thomas Monjalon
thomas.monjalon at 6wind.com
Wed Apr 9 14:23:44 CEST 2014
2014-04-07 13:57, Bruce Richardson:
> This reverts commit da6fd0759cbeb5fc14991a79e40105b9f6b99059.
>
> The use of cpuinfo to determine the frequency of the TSC is not
> advisable and leads to incorrect results when power management is
> in use. This is because, while the TSC frequency does not change
> in modern cpus with constant_tsc support, the frequency of the core,
> and hence the frequency of the core reported by cpuinfo *does* change.
>
> Depending on the current frequency of core 0 when an application is
> started, the EAL can get a wildly incorrect value for the TSC freq.
> Since frequency is scaled down for power saving, any incorrect value
> is likely to be lower than the default, which means that any delay
> loops inside the code which rely on the TSC will be shorter than
> planned. This can cause issues (reported on the mailing list by a number
> of people) where ports are not initialized correctly due to delays being
> too short.
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
I agree that using CPU frequency for TSC calibration is wrong with
constant_tsc support. The goal was to have a precise calibration but the
result is the reverse because of constant TSC.
Acked and applied.
Thank you Bruce for catching this.
--
Thomas
More information about the dev
mailing list