[PATCH] resctrl: Do not rewrite default MB values for new allocations

Martin Kletzander posted 1 patch 2 weeks, 5 days ago
src/util/virresctrl.c | 3 ---
1 file changed, 3 deletions(-)
[PATCH] resctrl: Do not rewrite default MB values for new allocations
Posted by Martin Kletzander 2 weeks, 5 days ago
The code did it "just in case" the allocation was not reset for new
subdirectories.  That might've happened in the past with CAT settings,
but checking it now it is properly reset to its maximum values for each
new CLOSID (Class of Service ID).

The advantage of this is that we do not rewrite the value with itself
which causes an issue with the current linux kernel and mba_MBps option
where the default is UINT_MAX (or (uint32_t) -1), but gets rounded up to
bandwidth granularity (10), overflows and small number (4) is set
instead.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
---
 src/util/virresctrl.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
index c126ec7e41a6..8f33a85a5639 100644
--- a/src/util/virresctrl.c
+++ b/src/util/virresctrl.c
@@ -2158,9 +2158,6 @@ virResctrlAllocAssign(virResctrlInfo *resctrl,
     if (virResctrlAllocCopyMasks(alloc, alloc_default) < 0)
         return -1;
 
-    if (virResctrlAllocCopyMemBW(alloc, alloc_default) < 0)
-        return -1;
-
     for (level = 0; level < alloc->nlevels; level++) {
         virResctrlAllocPerLevel *a_level = alloc->levels[level];
         virResctrlAllocPerLevel *f_level = NULL;
-- 
2.46.0
Re: [PATCH] resctrl: Do not rewrite default MB values for new allocations
Posted by Michal Prívozník 2 weeks, 5 days ago
On 9/16/24 10:33, Martin Kletzander wrote:
> The code did it "just in case" the allocation was not reset for new
> subdirectories.  That might've happened in the past with CAT settings,
> but checking it now it is properly reset to its maximum values for each
> new CLOSID (Class of Service ID).
> 
> The advantage of this is that we do not rewrite the value with itself
> which causes an issue with the current linux kernel and mba_MBps option
> where the default is UINT_MAX (or (uint32_t) -1), but gets rounded up to
> bandwidth granularity (10), overflows and small number (4) is set
> instead.
> 

Sounds like a kernel bug to me.

> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> ---
>  src/util/virresctrl.c | 3 ---
>  1 file changed, 3 deletions(-)

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal