Merge tag 'perf-core-for-mingo-4.21-20190104' of git://git.kernel.org/pub/scm/linux...
[platform/kernel/linux-rpi.git] / drivers / hv / hv_balloon.c
index 4163151..5301fef 100644 (file)
@@ -1090,6 +1090,7 @@ static void process_info(struct hv_dynmem_device *dm, struct dm_info_msg *msg)
 static unsigned long compute_balloon_floor(void)
 {
        unsigned long min_pages;
+       unsigned long nr_pages = totalram_pages();
 #define MB2PAGES(mb) ((mb) << (20 - PAGE_SHIFT))
        /* Simple continuous piecewiese linear function:
         *  max MiB -> min MiB  gradient
@@ -1102,16 +1103,16 @@ static unsigned long compute_balloon_floor(void)
         *    8192       744    (1/16)
         *   32768      1512    (1/32)
         */
-       if (totalram_pages < MB2PAGES(128))
-               min_pages = MB2PAGES(8) + (totalram_pages >> 1);
-       else if (totalram_pages < MB2PAGES(512))
-               min_pages = MB2PAGES(40) + (totalram_pages >> 2);
-       else if (totalram_pages < MB2PAGES(2048))
-               min_pages = MB2PAGES(104) + (totalram_pages >> 3);
-       else if (totalram_pages < MB2PAGES(8192))
-               min_pages = MB2PAGES(232) + (totalram_pages >> 4);
+       if (nr_pages < MB2PAGES(128))
+               min_pages = MB2PAGES(8) + (nr_pages >> 1);
+       else if (nr_pages < MB2PAGES(512))
+               min_pages = MB2PAGES(40) + (nr_pages >> 2);
+       else if (nr_pages < MB2PAGES(2048))
+               min_pages = MB2PAGES(104) + (nr_pages >> 3);
+       else if (nr_pages < MB2PAGES(8192))
+               min_pages = MB2PAGES(232) + (nr_pages >> 4);
        else
-               min_pages = MB2PAGES(488) + (totalram_pages >> 5);
+               min_pages = MB2PAGES(488) + (nr_pages >> 5);
 #undef MB2PAGES
        return min_pages;
 }