>>> On 10.12.16 at 17:43, <avscomput...@gmail.com> wrote: > When doing "xl debug-key s; xl dmesg | tail" as instructed for checking > TSC emulation mode on x86, I always see this line unterminated: > > (XEN) dom2(hvm): mode=0,ofs=0x204b1518d4d,khz=2672736,inc=1 > > Apparently, the cause is simple: in xen/arch/x86/time.c there is > > static void dump_softtsc(unsigned char key) > { > // ... (skipped) ... > for_each_domain ( d ) > { > if ( is_hardware_domain(d) && d->arch.tsc_mode == TSC_MODE_DEFAULT ) > continue; > printk("dom%u%s: mode=%d",d->domain_id, > is_hvm_domain(d) ? "(hvm)" : "", d->arch.tsc_mode); > if ( d->arch.vtsc_offset ) > printk(",ofs=%#"PRIx64, d->arch.vtsc_offset); > if ( d->arch.tsc_khz ) > printk(",khz=%"PRIu32, d->arch.tsc_khz); > if ( d->arch.incarnation ) > printk(",inc=%"PRIu32, d->arch.incarnation); > #if !defined(NDEBUG) || defined(CONFIG_PERF_COUNTERS) > if ( !(d->arch.vtsc_kerncount | d->arch.vtsc_usercount) ) > printk("\n"); > else > printk(",vtsc count: %"PRIu64" kernel, %"PRIu64" user\n", > d->arch.vtsc_kerncount, d->arch.vtsc_usercount); > #endif > domcnt++; > } > // ... (skipped) ... > } > > That is, "\n" is only output in debug builds. Please, add an unconditional > printk("\n") in #else clause for regular builds. Following is my formal > patch proposal, but it is so trivial that you better reimplement that > yourself as your rules mandate, with all that "Signed-off-by" and other > cool git-related and legal-related stuff. Thanks in advance.
Please submit patches as standalone mails, i.e. without initial problem description (other than what goes in the commit message). Also please include [PATCH] in the subject. > From dac74660f526436ecc6a2fa0101ec81f6822eb66 Mon Sep 17 00:00:00 2001 > From: Anton Samsonov <de...@zxlab.ru> > Date: Sat, 10 Dec 2016 18:51:38 +0300 > Subject: [PATCH] x86/time: Fix missing "\n" in non-debug log. > > On x86, when dumping the emulated TSC information to dmesg, the line > > dom%u%s: mode=%d,ofs=0#ul,khz=%u,inc=%u > > is formed by several conditional statements, possibly followed by other > printk() calls which ultimately end the line with "\n", but only in debug > builds or with performance counters enabled, - in regular builds, however, > the line stays unfinished and continued by further output. > > This patch adds such final printk("\n") for regular builds, too. > --- There's no Signed-off-by here, without which we won't be able to take the patch. However, ... > --- a/xen/arch/x86/time.c > +++ b/xen/arch/x86/time.c > @@ -2186,6 +2186,8 @@ static void dump_softtsc(unsigned char key) > else > printk(",vtsc count: %"PRIu64" kernel, %"PRIu64" user\n", > d->arch.vtsc_kerncount, d->arch.vtsc_usercount); > +#else > + printk("\n"); > #endif > domcnt++; > } I think this wants doing differently - I'll submit a replacement patch in a minute, with you as the reporter of the issue. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel