qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH] spapr: check smp_threads < vsmt


From: Laurent Vivier
Subject: Re: [Qemu-ppc] [PATCH] spapr: check smp_threads < vsmt
Date: Thu, 8 Feb 2018 09:49:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 07/02/2018 21:21, Greg Kurz wrote:
> On Wed,  7 Feb 2018 17:17:30 +0100
> Laurent Vivier <address@hidden> wrote:
> 
>> We ignore silently the value of smp_threads when we set
>> the VSMT value, and if smp_threads is greater than VSMT
>> kernel is going into trouble later.
>>
>> Fixes: 8904e5a750
>> ("spapr: Adjust default VSMT value for better migration compatibility")
>>
>> Signed-off-by: Laurent Vivier <address@hidden>
>> ---
>>  hw/ppc/spapr.c | 17 ++++++++---------
>>  1 file changed, 8 insertions(+), 9 deletions(-)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index 32a876be56..638b3cafd0 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -2294,15 +2294,7 @@ static void spapr_set_vsmt_mode(sPAPRMachineState 
>> *spapr, Error **errp)
>>      }
>>  
>>      /* Detemine the VSMT mode to use: */
>> -    if (vsmt_user) {
>> -        if (spapr->vsmt < smp_threads) {
>> -            error_setg(&local_err, "Cannot support VSMT mode %d"
>> -                         " because it must be >= threads/core (%d)",
>> -                         spapr->vsmt, smp_threads);
> 
> In this case, we'd error out because the user requested two settings that
> are known to be incompatible.
> 
>> -            goto out;
>> -        }
>> -        /* In this case, spapr->vsmt has been set by the command line */
>> -    } else {
>> +    if (!vsmt_user) {
>>          /*
>>           * Default VSMT value is tricky, because we need it to be as
>>           * consistent as possible (for migration), but this requires
>> @@ -2313,6 +2305,13 @@ static void spapr_set_vsmt_mode(sPAPRMachineState 
>> *spapr, Error **errp)
>>          spapr->vsmt = 8;
> 
> In this case, we'd error out because the user requested a setting that is
> incompatible with our default. Maybe worth a separate error message ?
> 
> "Cannot support %d threads/core because it must be <= to default VSMT mode 
> (8)"

I'm going to update the error message.

Thanks,
Laurent



reply via email to

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