On 12/8/20 7:15 PM, Peter Maydell wrote: > This patchseries makes some changes to the clock API: > * Remove clock_get_ns() > * Add clock_ticks_to_ns() to return number of nanoseconds > it will take the clock to tick N times > * clock_display_freq() to return prettily-formatted string > for showing humans the approximate clock frequency > > This is based on discussions we had about these APIs a little while > back. The core driver here is that the clock objects internally > store the period in units of 2^-32 ns, so both clock_get_ns() and > clock_get_hz() are inherently returning a rounded-off result, which > can be badly inaccurate for fast clocks or if you want to multiply it > by a large tick count. > > Ideally I'd like to get rid of clock_get_hz() as well, but > that looks trickier than handling clock_get_ns(). > > Patch 4 borrows a lot of the concept from one of Philippe's that he > sent out previously.
Thanks for tackling the clock_get_ns() part. I had some work in progress I was procrastinating for after the release, but your patches are much better documented :) (I also started to get rid of clock_get_hz() but, as you figured, this is not a trivial task). > NB: tested with 'make check' and 'make check-acceptance' only. I hit this issue while testing Huacai's MIPS Loongson3 virt machine which sets the core freq at 1GHz IIRC. I still have the branch so I'll test your series (or v2) during the week-end. Regards, Phil.