From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41623) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjNo7-0007xI-0u for qemu-devel@nongnu.org; Tue, 06 Oct 2015 04:41:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjNo2-0002AX-1Y for qemu-devel@nongnu.org; Tue, 06 Oct 2015 04:41:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32954) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjNka-0006w9-GU for qemu-devel@nongnu.org; Tue, 06 Oct 2015 04:37:32 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 3B952C0B1B2C for ; Tue, 6 Oct 2015 08:37:32 +0000 (UTC) From: Igor Mammedov Date: Tue, 6 Oct 2015 10:37:26 +0200 Message-Id: <1444120649-197078-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/3] vhost: check if vhost has capacity for hotplugged memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: marcel@redhat.com, mst@redhat.com v3->v4: * rescan all vhost backends when checking for limit (Michael S. Tsirkin) * check that used slots are less than limit of new backend (Michael S. Tsirkin) v2->v3: * add refcounting of limit by # vhost devices, and make vhost_has_free_slot() return true if no vhost devices are present at current moment * move limit initialization to vhost_dev_init() * fail vhost backend intialization if memslots number is more than its supported limit v1->v2: * replace probbing with checking for /sys/module/vhost/parameters/max_mem_regions and if it's missing has non wrong value return hardcoded legacy limit (64 slots). it's defensive patchset which helps to avoid QEMU crashing at memory hotplug time by checking that vhost has free capacity for an additional memory slot. Igor Mammedov (3): vhost: add vhost_has_free_slot() interface pc-dimm: add vhost slots limit check before commiting to hotplug vhost: fail backend intialization if memslots number is more than its supported limit hw/mem/pc-dimm.c | 7 +++++++ hw/virtio/vhost-backend.c | 19 +++++++++++++++++++ hw/virtio/vhost-user.c | 6 ++++++ hw/virtio/vhost.c | 27 +++++++++++++++++++++++++++ include/hw/virtio/vhost-backend.h | 2 ++ include/hw/virtio/vhost.h | 2 ++ stubs/Makefile.objs | 1 + stubs/vhost.c | 6 ++++++ 8 files changed, 70 insertions(+) create mode 100644 stubs/vhost.c -- 1.8.3.1