'alloc_unit' in alloc_balloon_pages() is either '512' for 2M allocations or
'1' for 4k allocations. So

1 << get_order(alloc_unit << PAGE_SHIFT)

equals to 'alloc_unit' and the for loop basically sets all them offline.
Simplify the math to improve the readability.

Signed-off-by: Vitaly Kuznetsov <[email protected]>
---
 drivers/hv/hv_balloon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index eb56e09ae15f..da3b6bd2367c 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1238,7 +1238,7 @@ static unsigned int alloc_balloon_pages(struct 
hv_dynmem_device *dm,
                        split_page(pg, get_order(alloc_unit << PAGE_SHIFT));
 
                /* mark all pages offline */
-               for (j = 0; j < (1 << get_order(alloc_unit << PAGE_SHIFT)); j++)
+               for (j = 0; j < alloc_unit; j++)
                        __SetPageOffline(pg + j);
 
                bl_resp->range_count++;
-- 
2.26.2

Reply via email to