From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49050) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKkop-00083m-J0 for qemu-devel@nongnu.org; Thu, 30 Jul 2015 06:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZKkon-0006nd-4g for qemu-devel@nongnu.org; Thu, 30 Jul 2015 06:12:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33047) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKkon-0006nL-0F for qemu-devel@nongnu.org; Thu, 30 Jul 2015 06:12:05 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id DCFF97C for ; Thu, 30 Jul 2015 10:12:03 +0000 (UTC) From: Igor Mammedov Date: Thu, 30 Jul 2015 12:11:56 +0200 Message-Id: <1438251119-285996-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH for-2.4 v3 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: pbonzini@redhat.com, mst@redhat.com 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 | 21 ++++++++++++++++++++- hw/virtio/vhost-user.c | 8 +++++++- hw/virtio/vhost.c | 29 +++++++++++++++++++++++++++++ include/hw/virtio/vhost-backend.h | 2 ++ include/hw/virtio/vhost.h | 1 + stubs/Makefile.objs | 1 + stubs/vhost.c | 6 ++++++ 8 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 stubs/vhost.c -- 1.8.3.1