[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
>
>
>