File xen.trc-get_pending_vcpu.patch of Package xen

From: Olaf Hering <olaf@aepfle.de>
Date: Thu, 15 Jun 2023 08:32:29 +0000
Subject: trc get_pending_vcpu

Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
 xen/common/ioreq.c | 7 +++++++
 1 file changed, 7 insertions(+)

--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -152,42 +152,49 @@ bool domain_has_ioreq_server(const struct domain *d)
 
     trc.has_ioreq = has_ioreq;
     TRACE_trc(TRC_IOREQ_domain_has_ioreq_server);
     return has_ioreq;
 }
 
 static struct ioreq_vcpu *get_pending_vcpu(const struct vcpu *v,
                                            struct ioreq_server **srvp)
 {
     struct domain *d = v->domain;
     struct ioreq_server *s;
     unsigned int id;
+    trc_get_pending_vcpu_t trc = {
+        .v = v->vcpu_id,
+    };
 
     FOR_EACH_IOREQ_SERVER(d, id, s)
     {
         struct ioreq_vcpu *sv;
 
         list_for_each_entry ( sv,
                               &s->ioreq_vcpu_list,
                               list_entry )
         {
             if ( sv->vcpu == v && sv->pending )
             {
                 if ( srvp )
                     *srvp = s;
+                trc.s = TRC_ePTR(s);
+                trc.sv = TRC_ePTR(sv);
+                TRACE_trc(TRC_IOREQ_get_pending_vcpu);
                 return sv;
             }
         }
     }
 
+    TRACE_trc(TRC_IOREQ_get_pending_vcpu);
     return NULL;
 }
 
 bool vcpu_ioreq_pending(struct vcpu *v)
 {
     return get_pending_vcpu(v, NULL);
 }
 
 static bool wait_for_io(struct ioreq_vcpu *sv, ioreq_t *p)
 {
     unsigned int prev_state = STATE_IOREQ_NONE;
     unsigned int state = p->state;
openSUSE Build Service is sponsored by