[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:11:28 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 23/11/2015 11:09, Paolo Bonzini wrote:
> 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.
... doh, Eduardo applied it to the NUMA tree already. I missed that
backends/hostmem* is under NUMA and not memory.
Paolo
> 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
>>
>>
>>
>
>