From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: HV KVM fails on 970 due to HTAB allocation Date: Thu, 12 Jan 2012 19:16:51 +0100 Message-ID: <4F0F2393.6010102@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "paulus@samba.org" , DValeev@suse.com, "kvm@vger.kernel.org" To: kvm-ppc Return-path: Received: from cantor2.suse.de ([195.135.220.15]:44687 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751988Ab2ALSQw (ORCPT ); Thu, 12 Jan 2012 13:16:52 -0500 Sender: kvm-owner@vger.kernel.org List-ID: Hi Paul, While trying to run HV KVM for something useful on 970, we stumbled over the following code path: /* Allocate guest's hashed page table */ hpt = __get_free_pages(GFP_KERNEL|__GFP_ZERO|__GFP_REPEAT|__GFP_NOWARN, HPT_ORDER - PAGE_SHIFT); if (!hpt) { pr_err("kvm_alloc_hpt: Couldn't alloc HPT\n"); return -ENOMEM; } kvm->arch.hpt_virt = hpt; We're most of the time running into the !hpt case, because we simply don't have 16MB of contiguous memory lying around. I was trying to check if we could maybe allocate a huge_tlb page from within kernel space, since that usually matches the 16MB pretty well. However that seems to be very tricky. Maybe something similar to the RMA thing would be a good idea? Alex