diff mbox series

[2/2] tests/migration: add support for ppc64le for guestperf.py

Message ID 20220809002451.91541-3-muriloo@linux.ibm.com
State Awaiting Upstream
Headers show
Series tests/migration: add support for ppc64le in guestperf.py | expand

Commit Message

Murilo Opsfelder Araújo Aug. 9, 2022, 12:24 a.m. UTC
Add support for ppc64le for guestperf.py. On ppc, console is usually
hvc0 and serial device for pseries machine is spapr-vty.

Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
---
 tests/migration/guestperf/engine.py | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

Comments

Daniel Henrique Barboza Dec. 23, 2022, 4:19 p.m. UTC | #1
On 8/8/22 21:24, Murilo Opsfelder Araujo wrote:
> Add support for ppc64le for guestperf.py. On ppc, console is usually
> hvc0 and serial device for pseries machine is spapr-vty.
> 
> Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
> ---

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>

>   tests/migration/guestperf/engine.py | 28 +++++++++++++++++++++++++---
>   1 file changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/migration/guestperf/engine.py b/tests/migration/guestperf/engine.py
> index 87a6ab2009..88da516899 100644
> --- a/tests/migration/guestperf/engine.py
> +++ b/tests/migration/guestperf/engine.py
> @@ -282,6 +282,26 @@ def _migrate(self, hardware, scenario, src, dst, connect_uri):
>                   resp = src.command("stop")
>                   paused = True
>   
> +    def _is_ppc64le(self):
> +        _, _, _, _, machine = os.uname()
> +        if machine == "ppc64le":
> +            return True
> +        return False
> +
> +    def _get_guest_console_args(self):
> +        if self._is_ppc64le():
> +            return "console=hvc0"
> +        else:
> +            return "console=ttyS0"
> +
> +    def _get_qemu_serial_args(self):
> +        if self._is_ppc64le():
> +            return ["-chardev", "stdio,id=cdev0",
> +                    "-device", "spapr-vty,chardev=cdev0"]
> +        else:
> +            return ["-chardev", "stdio,id=cdev0",
> +                    "-device", "isa-serial,chardev=cdev0"]
> +
>       def _get_common_args(self, hardware, tunnelled=False):
>           args = [
>               "noapic",
> @@ -290,8 +310,10 @@ def _get_common_args(self, hardware, tunnelled=False):
>               "noreplace-smp",
>               "cgroup_disable=memory",
>               "pci=noearly",
> -            "console=ttyS0",
>           ]
> +
> +        args.append(self._get_guest_console_args())
> +
>           if self._debug:
>               args.append("debug")
>           else:
> @@ -309,12 +331,12 @@ def _get_common_args(self, hardware, tunnelled=False):
>               "-kernel", self._kernel,
>               "-initrd", self._initrd,
>               "-append", cmdline,
> -            "-chardev", "stdio,id=cdev0",
> -            "-device", "isa-serial,chardev=cdev0",
>               "-m", str((hardware._mem * 1024) + 512),
>               "-smp", str(hardware._cpus),
>           ]
>   
> +        argv.extend(self._get_qemu_serial_args())
> +
>           if self._debug:
>               argv.extend(["-device", "sga"])
>
Juan Quintela Feb. 2, 2023, 4:57 p.m. UTC | #2
Murilo Opsfelder Araujo <muriloo@linux.ibm.com> wrote:
> Add support for ppc64le for guestperf.py. On ppc, console is usually
> hvc0 and serial device for pseries machine is spapr-vty.
>
> Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>
diff mbox series

Patch

diff --git a/tests/migration/guestperf/engine.py b/tests/migration/guestperf/engine.py
index 87a6ab2009..88da516899 100644
--- a/tests/migration/guestperf/engine.py
+++ b/tests/migration/guestperf/engine.py
@@ -282,6 +282,26 @@  def _migrate(self, hardware, scenario, src, dst, connect_uri):
                 resp = src.command("stop")
                 paused = True
 
+    def _is_ppc64le(self):
+        _, _, _, _, machine = os.uname()
+        if machine == "ppc64le":
+            return True
+        return False
+
+    def _get_guest_console_args(self):
+        if self._is_ppc64le():
+            return "console=hvc0"
+        else:
+            return "console=ttyS0"
+
+    def _get_qemu_serial_args(self):
+        if self._is_ppc64le():
+            return ["-chardev", "stdio,id=cdev0",
+                    "-device", "spapr-vty,chardev=cdev0"]
+        else:
+            return ["-chardev", "stdio,id=cdev0",
+                    "-device", "isa-serial,chardev=cdev0"]
+
     def _get_common_args(self, hardware, tunnelled=False):
         args = [
             "noapic",
@@ -290,8 +310,10 @@  def _get_common_args(self, hardware, tunnelled=False):
             "noreplace-smp",
             "cgroup_disable=memory",
             "pci=noearly",
-            "console=ttyS0",
         ]
+
+        args.append(self._get_guest_console_args())
+
         if self._debug:
             args.append("debug")
         else:
@@ -309,12 +331,12 @@  def _get_common_args(self, hardware, tunnelled=False):
             "-kernel", self._kernel,
             "-initrd", self._initrd,
             "-append", cmdline,
-            "-chardev", "stdio,id=cdev0",
-            "-device", "isa-serial,chardev=cdev0",
             "-m", str((hardware._mem * 1024) + 512),
             "-smp", str(hardware._cpus),
         ]
 
+        argv.extend(self._get_qemu_serial_args())
+
         if self._debug:
             argv.extend(["-device", "sga"])