Re: is this a problem of numactl in RedHat7.0 ?

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

 



On 2015/8/22 4:53, Rik van Riel wrote:

> On 08/21/2015 05:27 AM, Xishi Qiu wrote:
>> I use numactl(--localalloc) tool run a test case, but it shows that
>> the numa policy is prefer, I don't know why.
> 
> The kernel implements MPOL_PREFERRED and MPOL_LOCAL
> in the same way. Look at this code in mpol_new(),
> in mm/mempolicy.c:
> 
>         /*
>          * MPOL_PREFERRED cannot be used with MPOL_F_STATIC_NODES or
>          * MPOL_F_RELATIVE_NODES if the nodemask is empty (local allocation).
>          * All other modes require a valid pointer to a non-empty nodemask.
>          */
>         if (mode == MPOL_PREFERRED) {
>                 if (nodes_empty(*nodes)) {
>                         if (((flags & MPOL_F_STATIC_NODES) ||
>                              (flags & MPOL_F_RELATIVE_NODES)))
>                                 return ERR_PTR(-EINVAL);
>                 }
>         } else if (mode == MPOL_LOCAL) {
>                 if (!nodes_empty(*nodes))
>                         return ERR_PTR(-EINVAL);
>                 mode = MPOL_PREFERRED;
>         } else if (nodes_empty(*nodes))
>                 return ERR_PTR(-EINVAL);
> 

Hi Rik,

Thank you for your reply. I find the reason is this patch,
and it is not backport to RedHat 7.0

8790c71a18e5d2d93532ae250bcf5eddbba729cd

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 873de7e..ae3c8f3 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2930,7 +2930,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol)
        unsigned short mode = MPOL_DEFAULT;
        unsigned short flags = 0;

-       if (pol && pol != &default_policy) {
+       if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MORON)) {
                mode = pol->mode;
                flags = pol->flags;
        }

Thanks,
Xishi Qiu

> 
> 
> 



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]