From: Alexander Graf <agraf@suse.de>
To: kvm-ppc <kvm-ppc@vger.kernel.org>
Cc: "paulus@samba.org" <paulus@samba.org>,
DValeev@suse.com, "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: HV KVM fails on 970 due to HTAB allocation
Date: Thu, 12 Jan 2012 18:16:51 +0000 [thread overview]
Message-ID: <4F0F2393.6010102@suse.de> (raw)
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
WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: kvm-ppc <kvm-ppc@vger.kernel.org>
Cc: "paulus@samba.org" <paulus@samba.org>,
DValeev@suse.com, "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: HV KVM fails on 970 due to HTAB allocation
Date: Thu, 12 Jan 2012 19:16:51 +0100 [thread overview]
Message-ID: <4F0F2393.6010102@suse.de> (raw)
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
next reply other threads:[~2012-01-12 18:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-12 18:16 Alexander Graf [this message]
2012-01-12 18:16 ` HV KVM fails on 970 due to HTAB allocation Alexander Graf
2012-01-13 5:11 ` Paul Mackerras
2012-01-13 5:11 ` Paul Mackerras
2012-01-13 12:36 ` Alexander Graf
2012-01-13 12:36 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F0F2393.6010102@suse.de \
--to=agraf@suse.de \
--cc=DValeev@suse.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.