From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38692) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WuJrI-0002pk-TJ for qemu-devel@nongnu.org; Tue, 10 Jun 2014 07:05:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WuJrB-0005Nt-Dl for qemu-devel@nongnu.org; Tue, 10 Jun 2014 07:04:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16537) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WuJrB-0005Nl-0W for qemu-devel@nongnu.org; Tue, 10 Jun 2014 07:04:45 -0400 Date: Tue, 10 Jun 2014 14:05:07 +0300 From: "Michael S. Tsirkin" Message-ID: <20140610110507.GA23705@redhat.com> References: <1402334881-19310-1-git-send-email-imammedo@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402334881-19310-1-git-send-email-imammedo@redhat.com> Subject: Re: [Qemu-devel] [PATCH 0/2] pc: memory hotplug fixes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: vasilis.liaskovitis@profitbricks.com, andrey@xdel.ru, qemu-devel@nongnu.org On Mon, Jun 09, 2014 at 07:27:59PM +0200, Igor Mammedov wrote: > Series is build on mst/pci tree that includes memory hotplug bits. > > patch 2/2, fixes incorrect address auto-allocation caused by wrong > sorting order due to overflow in pc_dimm_addr_sort() comparator. > > Test-case is to build qemu with stderr trace backend and start qemu with > following command line: > > echo mhp_pc_dimm_assigned_address > /tmp/mhp > qemu-system-x86_64 -m 512,slots=62,maxmem=16G \ > -object memory-backend-ram,id=m2,size=256M -object memory-backend-ram,id=m3,size=256M \ > -object memory-backend-ram,id=m4,size=256M -object memory-backend-ram,id=m5,size=256M \ > -object memory-backend-ram,id=m6,size=256M -object memory-backend-ram,id=m7,size=256M \ > -object memory-backend-ram,id=m8,size=256M -object memory-backend-ram,id=m9,size=256M \ > -object memory-backend-ram,id=m10,size=256M -object memory-backend-ram,id=m11,size=256M \ > -object memory-backend-ram,id=m12,size=256M -object memory-backend-ram,id=m13,size=256M \ > -device pc-dimm,id=d1,memdev=m1 -device pc-dimm,id=d2,memdev=m2 -device pc-dimm,id=d3,memdev=m3 \ > -device pc-dimm,id=d4,memdev=m4 -device pc-dimm,id=d5,memdev=m5 -device pc-dimm,id=d6,memdev=m6 \ > -device pc-dimm,id=d7,memdev=m7 -device pc-dimm,id=d8,memdev=m8 -device pc-dimm,id=d9,memdev=m9 \ > -device pc-dimm,id=d10,memdev=m10 -device pc-dimm,id=d11,memdev=m11 -device pc-dimm,id=d12,memdev=m12 \ > -device pc-dimm,id=d13,memdev=m13 \ > -trace events=/tmp/mhp > > output with incorrect addesses would look like: > mhp_pc_dimm_assigned_address 0x100000000 > mhp_pc_dimm_assigned_address 0x110000000 > mhp_pc_dimm_assigned_address 0x120000000 > mhp_pc_dimm_assigned_address 0x130000000 > mhp_pc_dimm_assigned_address 0x140000000 > mhp_pc_dimm_assigned_address 0x150000000 > mhp_pc_dimm_assigned_address 0x160000000 > mhp_pc_dimm_assigned_address 0x170000000 > mhp_pc_dimm_assigned_address 0x180000000 > mhp_pc_dimm_assigned_address 0x180000000 > mhp_pc_dimm_assigned_address 0x180000000 > mhp_pc_dimm_assigned_address 0x180000000 > mhp_pc_dimm_assigned_address 0x180000000 > > where last 5 dimms were assigned the same address. I rebased my tree and applied these. Pushed, pls check the result. > Igor Mammedov (2): > pc: q35: acpi: report error to user on unsupported unplug request > pc-dimm: fix large address sorting during auto-allocation > > hw/isa/lpc_ich9.c | 2 ++ > hw/mem/pc-dimm.c | 8 +++++++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > -- > 1.9.3