qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] PING: [PATCH] backends/hostmem: Ignore ENOSYS while set


From: Paolo Bonzini
Subject: Re: [Qemu-devel] PING: [PATCH] backends/hostmem: Ignore ENOSYS while setting MPOL_DEFAULT
Date: Mon, 23 Nov 2015 11:09:56 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 23/11/2015 07:41, Pavel Fedin wrote:
>  Hello! No news for a long time, we are at RC stage. Could we get this in?

Yes, queued for -rc2.

Paolo

> Kind regards,
> Pavel Fedin
> Expert Engineer
> Samsung Electronics Research center Russia
> 
>> -----Original Message-----
>> From: address@hidden [mailto:qemu-devel-
>> address@hidden On Behalf Of Eduardo Habkost
>> Sent: Tuesday, October 27, 2015 8:32 PM
>> To: Pavel Fedin
>> Cc: 'Paolo Bonzini'; address@hidden
>> Subject: Re: [Qemu-devel] [PATCH] backends/hostmem: Ignore ENOSYS while 
>> setting MPOL_DEFAULT
>>
>> On Tue, Oct 27, 2015 at 03:51:31PM +0300, Pavel Fedin wrote:
>>> Currently hostmem backend fails if CONFIG_NUMA is enabled for the qemu
>>> (default), but NUMA is not supported by the kernel. This makes it
>>> impossible to use ivshmem in such configurations.
>>>
>>> This patch fixes the problem by ignoring ENOSYS error if policy is set to
>>> MPOL_DEFAULT. This way the code behaves in the same way as if CONFIG_NUMA
>>> was not defined. qemu will still fail if the user specifies some other
>>> policy, so that the user knows it.
>>>
>>> Signed-off-by: Pavel Fedin <address@hidden>
>>
>> Reviewed-by: Eduardo Habkost <address@hidden>
>>
>> Thanks. Applied to numa tree, with the following indentation fix:
>>
>> diff --git a/backends/hostmem.c b/backends/hostmem.c
>> index 94a4ac0..1b4eb45 100644
>> --- a/backends/hostmem.c
>> +++ b/backends/hostmem.c
>> @@ -315,7 +315,7 @@ host_memory_backend_memory_complete(UserCreatable *uc, 
>> Error **errp)
>>                    maxnode ? backend->host_nodes : NULL, maxnode + 1, 
>> flags)) {
>>              if (backend->policy != MPOL_DEFAULT || errno != ENOSYS) {
>>                  error_setg_errno(errp, errno,
>> -                             "cannot bind memory to host NUMA nodes");
>> +                                 "cannot bind memory to host NUMA nodes");
>>                  return;
>>              }
>>          }
>>
>>> ---
>>>  backends/hostmem.c | 6 ++++--
>>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/backends/hostmem.c b/backends/hostmem.c
>>> index 41ba2af..94a4ac0 100644
>>> --- a/backends/hostmem.c
>>> +++ b/backends/hostmem.c
>>> @@ -313,9 +313,11 @@ host_memory_backend_memory_complete(UserCreatable *uc, 
>>> Error **errp)
>>>          assert(maxnode <= MAX_NODES);
>>>          if (mbind(ptr, sz, backend->policy,
>>>                    maxnode ? backend->host_nodes : NULL, maxnode + 1, 
>>> flags)) {
>>> -            error_setg_errno(errp, errno,
>>> +            if (backend->policy != MPOL_DEFAULT || errno != ENOSYS) {
>>> +                error_setg_errno(errp, errno,
>>>                               "cannot bind memory to host NUMA nodes");
>>> -            return;
>>> +                return;
>>> +            }
>>>          }
>>>  #endif
>>>          /* Preallocate memory after the NUMA policy has been instantiated.
>>> --
>>> 1.9.5.msysgit.0
>>>
>>>
>>
>> --
>> Eduardo
> 
> 
> 



reply via email to

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