[Top][All Lists]

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

Re: [PATCH v9 01/10] s390x/cpus: Make absence of multithreading clear

From: Cédric Le Goater
Subject: Re: [PATCH v9 01/10] s390x/cpus: Make absence of multithreading clear
Date: Wed, 28 Sep 2022 18:28:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0

On 9/28/22 18:16, Pierre Morel wrote:
More thinking about this I will drop this patch for backward compatibility and 
in topology masks treat CPUs as being cores*threads

yes. You never know, people might have set threads=2 in their
domain file (like me). You could give the user a warning though,
with warn_report().



On 9/28/22 15:21, Pierre Morel wrote:

On 9/27/22 11:44, Cédric Le Goater wrote:
On 9/5/22 17:10, Pierre Morel wrote:

On 9/5/22 13:32, Nico Boehr wrote:
Quoting Pierre Morel (2022-09-02 09:55:22)
S390x do not support multithreading in the guest.
Do not let admin falsely specify multithreading on QEMU
smp commandline.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
  hw/s390x/s390-virtio-ccw.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 70229b102b..b5ca154e2f 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -86,6 +86,9 @@ static void s390_init_cpus(MachineState *machine)
      MachineClass *mc = MACHINE_GET_CLASS(machine);
      int i;
+    /* Explicitely do not support threads */

+    assert(machine->smp.threads == 1);

It might be nicer to give a better error message to the user.
What do you think about something like (broken whitespace ahead):

     if (machine->smp.threads != 1) {if (machine->smp.threads != 1) {
         error_setg(&error_fatal, "More than one thread specified, but 
multithreading unsupported");

OK, I think I wanted to do this and I changed my mind, obviously, I do not 
recall why.
I will do almost the same but after a look at error.h I will use 
error_report()/exit() instead of error_setg()/return as in:

+    /* Explicitly do not support threads */
+    if (machine->smp.threads != 1) {
+        error_report("More than one thread specified, but multithreading 
+        exit(1);
+    }

or add an 'Error **errp' parameter to s390_init_cpus() and use error_setg()
as initially proposed. s390x_new_cpu() would benefit from it also.

OK, Thanks,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]