We will update MPOL_PREFERRED_MANY in the follow up patch. This change
is required for that.
Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
Signed-off-by: Donet Tom <[email protected]>
---
mm/mempolicy.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 8478574c000c..73d698e21dae 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
break;
goto out;
}
- fallthrough;
+
+ if (node_isset(curnid, pol->nodes))
+ goto out;
+ z = first_zones_zonelist(
+ node_zonelist(thisnid, GFP_HIGHUSER),
+ gfp_zone(GFP_HIGHUSER),
+ &pol->nodes);
+ polnid = zone_to_nid(z->zone);
+ break;
case MPOL_PREFERRED_MANY:
/*
--
2.39.3
On Sat 17-02-24 01:31:34, Donet Tom wrote:
> We will update MPOL_PREFERRED_MANY in the follow up patch. This change
> is required for that.
Why is it a separate patch then? Does it make review of the next patch
easier? If so make it explicit in the changelog.
>
> Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
> Signed-off-by: Donet Tom <[email protected]>
> ---
> mm/mempolicy.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index 8478574c000c..73d698e21dae 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
> break;
> goto out;
> }
> - fallthrough;
> +
> + if (node_isset(curnid, pol->nodes))
> + goto out;
> + z = first_zones_zonelist(
> + node_zonelist(thisnid, GFP_HIGHUSER),
> + gfp_zone(GFP_HIGHUSER),
> + &pol->nodes);
> + polnid = zone_to_nid(z->zone);
> + break;
>
> case MPOL_PREFERRED_MANY:
> /*
> --
> 2.39.3
--
Michal Hocko
SUSE Labs
On 2/19/24 17:32, Michal Hocko wrote:
> On Sat 17-02-24 01:31:34, Donet Tom wrote:
>> We will update MPOL_PREFERRED_MANY in the follow up patch. This change
>> is required for that.
> Why is it a separate patch then? Does it make review of the next patch
> easier? If so make it explicit in the changelog.
Hi Michal
In this patch there is no functional changes. This is just re-arrangement of code. Patch 3 is the actual fix .It will not look nice if we mix these patches. As you said it is easy for reviewing also. That's why we kept it as a separate patch.
Thanks
Donet Tom
>
>> Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
>> Signed-off-by: Donet Tom <[email protected]>
>> ---
>> mm/mempolicy.c | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
>> index 8478574c000c..73d698e21dae 100644
>> --- a/mm/mempolicy.c
>> +++ b/mm/mempolicy.c
>> @@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
>> break;
>> goto out;
>> }
>> - fallthrough;
>> +
>> + if (node_isset(curnid, pol->nodes))
>> + goto out;
>> + z = first_zones_zonelist(
>> + node_zonelist(thisnid, GFP_HIGHUSER),
>> + gfp_zone(GFP_HIGHUSER),
>> + &pol->nodes);
>> + polnid = zone_to_nid(z->zone);
>> + break;
>>
>> case MPOL_PREFERRED_MANY:
>> /*
>> --
>> 2.39.3