diff mbox series

[RFC] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again

Message ID 20240304193702.3195255-1-alex.bennee@linaro.org
State New
Headers show
Series [RFC] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again | expand

Commit Message

Alex Bennée March 4, 2024, 7:37 p.m. UTC
We "fixed" a bug with LTO builds with 100c459f194 (tests/qtest: bump
up QOS_PATH_MAX_ELEMENT_SIZE) but it seems it has triggered again.
Lets be more assertive raising QOS_PATH_MAX_ELEMENT_SIZE to make it go
away again.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1186 (again)
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/qtest/libqos/qgraph.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Huth March 5, 2024, 5:55 a.m. UTC | #1
On 04/03/2024 20.37, Alex Bennée wrote:
> We "fixed" a bug with LTO builds with 100c459f194 (tests/qtest: bump
> up QOS_PATH_MAX_ELEMENT_SIZE) but it seems it has triggered again.
> Lets be more assertive raising QOS_PATH_MAX_ELEMENT_SIZE to make it go
> away again.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1186 (again)
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   tests/qtest/libqos/qgraph.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/qtest/libqos/qgraph.h b/tests/qtest/libqos/qgraph.h
> index 287022a67c1..1b5de02e7be 100644
> --- a/tests/qtest/libqos/qgraph.h
> +++ b/tests/qtest/libqos/qgraph.h
> @@ -24,7 +24,7 @@
>   #include "libqos-malloc.h"
>   
>   /* maximum path length */
> -#define QOS_PATH_MAX_ELEMENT_SIZE 64
> +#define QOS_PATH_MAX_ELEMENT_SIZE 128


Reviewed-by: Thomas Huth <thuth@redhat.com>
Paolo Bonzini March 5, 2024, 10:02 a.m. UTC | #2
On Mon, Mar 4, 2024 at 10:06 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> We "fixed" a bug with LTO builds with 100c459f194 (tests/qtest: bump
> up QOS_PATH_MAX_ELEMENT_SIZE) but it seems it has triggered again.
> Lets be more assertive raising QOS_PATH_MAX_ELEMENT_SIZE to make it go
> away again.
>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1186 (again)
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

The array is sized according to the maximum anticipated length of a
path on the graph. However, the worst case for a depth-first search is
to push all nodes on the graph. So it's not really LTO, it depends on
the ordering of the constructors.

I had a patch to implement the stack as a linked list, but I never
sent it because IIRC it caused failures that I never had time to
debug. This patch is okay as long as this information is included in
the commit message and/or code.

Paolo
diff mbox series

Patch

diff --git a/tests/qtest/libqos/qgraph.h b/tests/qtest/libqos/qgraph.h
index 287022a67c1..1b5de02e7be 100644
--- a/tests/qtest/libqos/qgraph.h
+++ b/tests/qtest/libqos/qgraph.h
@@ -24,7 +24,7 @@ 
 #include "libqos-malloc.h"
 
 /* maximum path length */
-#define QOS_PATH_MAX_ELEMENT_SIZE 64
+#define QOS_PATH_MAX_ELEMENT_SIZE 128
 
 typedef struct QOSGraphObject QOSGraphObject;
 typedef struct QOSGraphNode QOSGraphNode;