From: dmkhn@proton.me
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech,
jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com,
roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH] xen/console: pre-compute domain prefix for printouts
Date: Thu, 13 Feb 2025 22:35:30 +0000 [thread overview]
Message-ID: <20250213214350.1745843-1-dmukhin@ford.com> (raw)
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@ford.com>
---
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
next reply other threads:[~2025-02-13 22:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-13 22:35 dmkhn [this message]
2025-02-13 23:28 ` [PATCH] xen/console: pre-compute domain prefix for printouts Andrew Cooper
2025-02-14 7:42 ` Denis Mukhin
2025-02-14 7:58 ` Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250213214350.1745843-1-dmukhin@ford.com \
--to=dmkhn@proton.me \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=dmukhin@ford.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.