All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
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




             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.