mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 22:40:51 +07:00
vhost: add max_mem_regions module parameter
it became possible to use a bigger amount of memory slots, which is used by memory hotplug for registering hotplugged memory. However QEMU crashes if it's used with more than ~60 pc-dimm devices and vhost-net enabled since host kernel in module vhost-net refuses to accept more than 64 memory regions. Allow to tweak limit via max_mem_regions module paramemter with default value set to 64 slots. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
4de7255f7d
commit
c9ce42f72f
@ -30,8 +30,12 @@
|
||||
|
||||
#include "vhost.h"
|
||||
|
||||
static ushort max_mem_regions = 64;
|
||||
module_param(max_mem_regions, ushort, 0444);
|
||||
MODULE_PARM_DESC(max_mem_regions,
|
||||
"Maximum number of memory regions in memory map. (default: 64)");
|
||||
|
||||
enum {
|
||||
VHOST_MEMORY_MAX_NREGIONS = 64,
|
||||
VHOST_MEMORY_F_LOG = 0x1,
|
||||
};
|
||||
|
||||
@ -697,7 +701,7 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
|
||||
return -EFAULT;
|
||||
if (mem.padding)
|
||||
return -EOPNOTSUPP;
|
||||
if (mem.nregions > VHOST_MEMORY_MAX_NREGIONS)
|
||||
if (mem.nregions > max_mem_regions)
|
||||
return -E2BIG;
|
||||
newmem = vhost_kvzalloc(size + mem.nregions * sizeof(*m->regions));
|
||||
if (!newmem)
|
||||
|
Loading…
Reference in New Issue
Block a user