From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFMHw-00029m-Eo for qemu-devel@nongnu.org; Sun, 16 Oct 2011 04:41:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFMHv-00087A-CU for qemu-devel@nongnu.org; Sun, 16 Oct 2011 04:41:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:17341) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFMHv-000875-5O for qemu-devel@nongnu.org; Sun, 16 Oct 2011 04:41:43 -0400 Message-ID: <4E9A98C2.9050804@redhat.com> Date: Sun, 16 Oct 2011 10:41:38 +0200 From: Avi Kivity MIME-Version: 1.0 References: <4E95D6F1.4070402@weilnetz.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] 2 MiB alignment in qemu_vmalloc() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Stefan Weil , QEMU Developers On 10/12/2011 10:02 PM, Alexander Graf wrote: > On 12.10.2011, at 20:05, Stefan Weil wrote: > > > Hello Avi, > > > > commit 36b58628 increased the alignment for some large memory > > blocks (typically the system RAM) to 2 MiB (QEMU_VMALLOC_ALIGN) > > on x86_64 Linux hosts. > > > > As far as I know, this was only required for KVM. > > > > There is a bad side effect of this increase: the Valgrind tool > > only supports an alignment of up to 1 MiB. It aborts execution > > with current QEMU for any target (even non-KVM targets). > > > > It might be possible to modify Valgrind (as far as I know this > > is already discussed), and of course I can also patch my local > > QEMU. Nevertheless, I think the alignment should be reduced > > again when there is no KVM support or KVM is disabled. > > Maybe the large alignment has other unwanted side effects. > > Actually, I'd much rather prefer to keep the differences between KVM and non-KVM low here. THP can potentially also work on TCG, so the alignment isn't completely moot here. Though it's certainly a lot less useful, as code isn't directly executed from there and we the rest of the overhead is a lot higher either way (especially the softmmu one). Note thp will still work with tcg, even without alignment. The alignment requirement is specific to kvm. > Either way, why does valgrind break when we enforce big alignment? That really sounds more like a valgrind bug than anything else. Memalign is there for exactly that reason, no? > Agreed, seems like a valgrind limitation that needs to be lifted if possible. -- error compiling committee.c: too many arguments to function