[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] x86/HVM: purge dubious lastpage diagnostic



commit 31270f11a96ebb875cd70661e2df9e5c6edd7564
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Mar 6 10:33:28 2023 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Mar 6 10:33:28 2023 +0100

    x86/HVM: purge dubious lastpage diagnostic
    
    Quoting b5d8b03db136 ("x86/shadow: Drop dubious lastpage diagnostic"):
    
    "This is a global variable (actually 3, one per GUEST_PAGING_LEVEL), 
operated
     on using atomics only (with no regard to what else shares the same 
cacheline),
     which emits a diagnostic (in debug builds only) without changing any 
program
     behaviour.
    
     It is presumably left-over debugging, as it interlinks the behaviour of all
     vCPUs in chronological order.  Based on the read-only p2m types, this
     diagnostic can be tripped by entirely legitimate guest behaviour."
    
    The same applies here (it's only a single variable of course).
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/hvm/hvm.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 5c1e641896..0c81e2afc7 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3354,16 +3354,7 @@ static enum hvm_translation_result __hvm_copy(
                 memcpy(buf, p, count);
                 hvmemul_write_cache(v, gfn_to_gaddr(gfn) | pgoff, buf, count);
             }
-            else if ( p2m_is_discard_write(p2mt) )
-            {
-                static unsigned long lastpage;
-
-                if ( xchg(&lastpage, gfn_x(gfn)) != gfn_x(gfn) )
-                    dprintk(XENLOG_G_DEBUG,
-                            "%pv attempted write to read-only gfn %#lx 
(mfn=%#"PRI_mfn")\n",
-                            v, gfn_x(gfn), mfn_x(page_to_mfn(page)));
-            }
-            else
+            else if ( !p2m_is_discard_write(p2mt) )
             {
                 if ( buf )
                     memcpy(p, buf, count);
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.