drivers: virtio_mem: use pageblock size as the minimum virtio_mem size.
authorZi Yan <ziy@nvidia.com>
Fri, 13 May 2022 03:22:58 +0000 (20:22 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 13 May 2022 14:20:13 +0000 (07:20 -0700)
alloc_contig_range() now only needs to be aligned to pageblock_nr_pages,
drop virtio_mem size requirement that it needs to be MAX_ORDER_NR_PAGES.

Link: https://lkml.kernel.org/r/20220425143118.2850746-7-zi.yan@sent.com
Signed-off-by: Zi Yan <ziy@nvidia.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: David Hildenbrand <david@redhat.com>
Cc: Eric Ren <renzhengeek@gmail.com>
Cc: kernel test robot <lkp@intel.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/virtio/virtio_mem.c

index e7d6b679596d382cc2f4b24aba1c8619f9650c35..e07486f019992672ae5b7a50a0bbf340cb8cb542 100644 (file)
@@ -2476,10 +2476,10 @@ static int virtio_mem_init_hotplug(struct virtio_mem *vm)
                                      VIRTIO_MEM_DEFAULT_OFFLINE_THRESHOLD);
 
        /*
-        * TODO: once alloc_contig_range() works reliably with pageblock
-        * granularity on ZONE_NORMAL, use pageblock_nr_pages instead.
+        * alloc_contig_range() works reliably with pageblock
+        * granularity on ZONE_NORMAL, use pageblock_nr_pages.
         */
-       sb_size = PAGE_SIZE * MAX_ORDER_NR_PAGES;
+       sb_size = PAGE_SIZE * pageblock_nr_pages;
        sb_size = max_t(uint64_t, vm->device_block_size, sb_size);
 
        if (sb_size < memory_block_size_bytes() && !force_bbm) {