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: [email protected] [mailto:qemu-devel- >>> [email protected]] On Behalf Of Eduardo Habkost >>> Sent: Tuesday, October 27, 2015 8:32 PM >>> To: Pavel Fedin >>> Cc: 'Paolo Bonzini'; [email protected] >>> 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 <[email protected]> >>> >>> Reviewed-by: Eduardo Habkost <[email protected]> >>> >>> 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 >> >> >> > >
