[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/console: pre-compute domain prefix for printouts
Every guest_printk() call computes "(d%d) " prefix on every call. Move prefix generation to the domain creation time. Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx> --- xen/arch/x86/pv/shim.c | 2 ++ xen/common/domain.c | 2 ++ xen/drivers/char/console.c | 6 +----- xen/include/xen/sched.h | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c index 81e4a0516d..b9c034ccff 100644 --- a/xen/arch/x86/pv/shim.c +++ b/xen/arch/x86/pv/shim.c @@ -329,6 +329,8 @@ int pv_shim_shutdown(uint8_t reason) /* Update domain id. */ d->domain_id = get_initial_domain_id(); + snprintf(d->domain_prefix, sizeof(d->domain_prefix), + "(d%d) ", d->domain_id); /* Clean the iomem range. */ BUG_ON(iomem_deny_access(d, 0, ~0UL)); diff --git a/xen/common/domain.c b/xen/common/domain.c index 0c4cc77111..49d4cb8221 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -681,6 +681,8 @@ struct domain *domain_create(domid_t domid, /* Sort out our idea of is_system_domain(). */ d->domain_id = domid; + snprintf(d->domain_prefix, sizeof(d->domain_prefix), + "(d%d) ", d->domain_id); d->unique_id = get_unique_id(); /* Holding CDF_* internal flags. */ diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index 235d55bbff..2e23910dfa 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -965,12 +965,8 @@ void printk(const char *fmt, ...) void guest_printk(const struct domain *d, const char *fmt, ...) { va_list args; - char prefix[16]; - - snprintf(prefix, sizeof(prefix), "(d%d) ", d->domain_id); - va_start(args, fmt); - vprintk_common(prefix, fmt, args); + vprintk_common(d->domain_prefix, fmt, args); va_end(args); } diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 037c83fda2..e90921dbd1 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -368,6 +368,7 @@ struct evtchn_port_ops; struct domain { domid_t domain_id; + char domain_prefix[16]; /* '(dX) ' prefix for printouts */ unsigned int max_vcpus; -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |