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

[xen staging] xen/mm: reject XENMEM_claim_pages when using LLC coloring



commit b068cafc737d51c76b40d3f9f821017bfa15814c
Author:     Roger Pau Monne <roger.pau@xxxxxxxxxx>
AuthorDate: Wed Dec 24 10:05:17 2025 +0100
Commit:     Roger Pau Monne <roger.pau@xxxxxxxxxx>
CommitDate: Wed Jan 7 15:54:33 2026 +0100

    xen/mm: reject XENMEM_claim_pages when using LLC coloring
    
    The coloring allocator ignores claims; reject the usage of the hypercall if
    LLC coloring is enabled.  Note that the usage of alloc_color_heap_page() is
    selected at boot time, and it's a system wide decision.  Once enabled all
    domains will use alloc_color_heap_page() for allocations, which ignores any
    outstanding claims.
    
    The hypercall can be enabled if/when LLC coloring is adjusted to support
    claims.
    
    Fixes: 95debe51a936 ("xen: add cache coloring allocator for domains")
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/common/memory.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index ae805ccbe4..10becf7c1f 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -16,6 +16,7 @@
 #include <xen/iocap.h>
 #include <xen/ioreq.h>
 #include <xen/lib.h>
+#include <xen/llc-coloring.h>
 #include <xen/mem_access.h>
 #include <xen/mm.h>
 #include <xen/numa.h>
@@ -1660,6 +1661,9 @@ long do_memory_op(unsigned long cmd, 
XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
 
     case XENMEM_claim_pages:
+        if ( llc_coloring_enabled )
+            return -EOPNOTSUPP;
+
         if ( unlikely(start_extent) )
             return -EINVAL;
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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