[lkml]   [2020]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[RFC PATCH] mm/page_alloc.c: Micro-optimisation Remove unnecessary branch
From: Mateusz Nosek <>

Previously if branch condition was false, the assignment was not executed.
The assignment can be safely executed even when the condition is false and
it is not incorrect as it assigns the value of 'nodemask' to 'ac.nodemask'
which already has the same value.

So as the assignment can be executed unconditionally, the branch can be

Signed-off-by: Mateusz Nosek <>
mm/page_alloc.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 79e950d76ffc..75456d04b5c5 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4819,8 +4819,7 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid,
* Restore the original nodemask if it was potentially replaced with
* &cpuset_current_mems_allowed to optimize the fast-path attempt.
- if (unlikely(ac.nodemask != nodemask))
- ac.nodemask = nodemask;
+ ac.nodemask = nodemask;

page = __alloc_pages_slowpath(alloc_mask, order, &ac);

 \ /
  Last update: 2020-03-07 23:56    [W:0.038 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site