[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] console: avoid printing no or null time stamps
>>> On 26.06.18 at 10:43, <julien.grall@xxxxxxx> wrote: > On 26/06/18 08:24, Jan Beulich wrote: >> During early boot timestamps aren't very useful, as they're all zero >> (in "boot" mode) or absent altogether (in "date" and "datems" modes). >> Log "boot" format timestamps when the date formats aren't available yet, >> and log raw timestamps when boot ones are still all zero. Also add a >> "raw" mode. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> ARM side build-tested only; I'm in particular unsure whether >> READ_SYSREG64(CNTPCT_EL0) can indeed be used right at start of day. > On most of the platforms, the timer will have been correctly enabled by > the firmware. However, on a few platforms it may require additional > setup that will be performed by platform_init_time(). > > In any case, CNTCPT_EL0 can always be read but may return garbage on > those few platforms. I would not worry too much for those platforms > thoughts. Can this be detected, such that the function could be made return zero instead until the necessary setup has happened? >> @@ -698,26 +701,30 @@ static void printk_start_of_line(const c >> case TSM_DATE_MS: >> tm = wallclock_time(&nsec); >> >> - if ( tm.tm_mday == 0 ) >> - return; >> - >> - if ( opt_con_timestamp_mode == TSM_DATE ) >> - snprintf(tstr, sizeof(tstr), "[%04u-%02u-%02u %02u:%02u:%02u] ", >> - 1900 + tm.tm_year, tm.tm_mon + 1, tm.tm_mday, >> - tm.tm_hour, tm.tm_min, tm.tm_sec); >> - else >> + if ( tm.tm_mday ) >> + { >> snprintf(tstr, sizeof(tstr), >> - "[%04u-%02u-%02u %02u:%02u:%02u.%03"PRIu64"] ", >> + opt_con_timestamp_mode == TSM_DATE >> + ? "[%04u-%02u-%02u %02u:%02u:%02u] " >> + : "[%04u-%02u-%02u %02u:%02u:%02u.%03"PRIu64"] ", >> 1900 + tm.tm_year, tm.tm_mon + 1, tm.tm_mday, >> tm.tm_hour, tm.tm_min, tm.tm_sec, nsec / 1000000); > > I find this change rather difficult to read because the number of > arguments for the 2 formats are different. It would be better to keep > the two snprintf separately. And I find the redundancy rather ugly to maintain, so I'd prefer to stick to single invocation. > But I am fairly surprised the compiler is happy with such changes. Why would it not be - excess arguments are not a problem. >> --- a/xen/include/asm-arm/time.h >> +++ b/xen/include/asm-arm/time.h >> @@ -5,11 +5,11 @@ >> DT_MATCH_COMPATIBLE("arm,armv7-timer"), \ >> DT_MATCH_COMPATIBLE("arm,armv8-timer") >> >> -typedef unsigned long cycles_t; >> +typedef uint64_t cycles_t; > > Please mention this change in the commit message. Added "For the ARM side get_cycles() to produce a meaningful value, ARM's cycle_t gets changed to uint64_t." Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |