[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/5] x86/time: refactor read_platform_stime()
On 03/18/2016 08:34 PM, Andrew Cooper wrote: > On 17/03/16 16:12, Joao Martins wrote: >> To fetch the last read from the clocksource which was used to >> calculate system_time. In the case of clocksource=tsc we will >> use it to set tsc_timestamp. >> >> Signed-off-by: Joao Martins <joao.m.martins@xxxxxxxxxx> > > Again, just minor style issues. > > Reviewed-by Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > All fixed, though I found one change missing in this series, specifically on time_calibration_std_rendezvous. Otherwise this commit would break compilation. See chunk below for the change I am adding: @@ -1377,7 +1380,7 @@ static void time_calibration_std_rendezvous(void *_r) { while ( atomic_read(&r->semaphore) != (total_cpus - 1) ) cpu_relax(); - r->master_stime = read_platform_stime(); + r->master_stime = read_platform_stime(NULL); mb(); /* write r->master_stime /then/ signal */ atomic_inc(&r->semaphore); } Having this fixed, could I still keep your Reviewed-by? >> --- >> Cc: Keir Fraser <keir@xxxxxxx> >> Cc: Jan Beulich <jbeulich@xxxxxxxx> >> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> >> --- >> xen/arch/x86/time.c | 16 ++++++++++------ >> 1 file changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c >> index 5af8902..89c35d0 100644 >> --- a/xen/arch/x86/time.c >> +++ b/xen/arch/x86/time.c >> @@ -508,6 +508,7 @@ static s_time_t stime_platform_stamp; /* System time at >> below platform time */ >> static u64 platform_timer_stamp; /* Platform time at above system time >> */ >> static u64 plt_stamp64; /* 64-bit platform counter stamp >> */ >> static u64 plt_stamp; /* hardware-width platform counter stamp >> */ >> +static u64 plt_stamp_counter; /* last read since read_counter */ > > This can have its scope reduced to within read_platform_stime() > >> static struct timer plt_overflow_timer; >> >> static s_time_t __read_platform_stime(u64 platform_time) >> @@ -566,7 +567,7 @@ static void plt_overflow(void *unused) >> set_timer(&plt_overflow_timer, NOW() + plt_overflow_period); >> } >> >> -static s_time_t read_platform_stime(void) >> +static s_time_t read_platform_stime(u64 *stamp) >> { >> u64 count; >> s_time_t stime; >> @@ -574,8 +575,11 @@ static s_time_t read_platform_stime(void) >> ASSERT(!local_irq_is_enabled()); >> >> spin_lock(&platform_timer_lock); >> - count = plt_stamp64 + ((plt_src.read_counter() - plt_stamp) & plt_mask); >> + plt_stamp_counter = plt_src.read_counter(); >> + count = plt_stamp64 + ((plt_stamp_counter - plt_stamp) & plt_mask); >> stime = __read_platform_stime(count); >> + if (stamp) > > Spaces. > > ~Andrew > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |