On Fri 05-04-13 17:00:58, Simon Jeons wrote:Hi Michal,Please refer to hugetlb_fault for more information.
On 04/05/2013 04:08 PM, Michal Hocko wrote:
On Fri 05-04-13 09:14:58, Simon Jeons wrote:Do you mean 32MB pages will map to one pmd which should map 2MB pages?Hi Michal,because hugetlb_add_hstate creates hstate for those pages and
On 03/22/2013 04:15 PM, Michal Hocko wrote:
[getting off-list]But after hacking, there is /sys/kernel/mm/hugepages/hugepages-*,
On Fri 22-03-13 07:46:32, Simon Jeons wrote:Hi Michal,Your CPU has to support GB pages. You have removed cpu_has_gbpages test
On 03/21/2013 08:56 PM, Michal Hocko wrote:
On Thu 21-03-13 07:49:48, Simon Jeons wrote:Sorry kindly Michal, my bad.
[...]
When I hacking arch/x86/mm/hugetlbpage.c like this,How is this related to the patch set?
diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c
index ae1aa71..87f34ee 100644
--- a/arch/x86/mm/hugetlbpage.c
+++ b/arch/x86/mm/hugetlbpage.c
@@ -354,14 +354,13 @@ hugetlb_get_unmapped_area(struct file *file,
unsigned long addr,
#endif /*HAVE_ARCH_HUGETLB_UNMAPPED_AREA*/
-#ifdef CONFIG_X86_64
static __init int setup_hugepagesz(char *opt)
{
unsigned long ps = memparse(opt, &opt);
if (ps == PMD_SIZE) {
hugetlb_add_hstate(PMD_SHIFT - PAGE_SHIFT);
- } else if (ps == PUD_SIZE && cpu_has_gbpages) {
- hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
+ } else if (ps == PUD_SIZE) {
+ hugetlb_add_hstate(PMD_SHIFT - PAGE_SHIFT+4);
} else {
printk(KERN_ERR "hugepagesz: Unsupported page size %lu M\n",
ps >> 20);
I set boot=hugepagesz=1G hugepages=10, then I got 10 32MB huge pages.
What's the difference between these pages which I hacking and normal
huge pages?
Please _stop_ distracting discussion to unrelated topics!
Nothing personal but this is just wasting our time.
Btw, could you explain this question for me? very sorry waste your time.
and added a hstate for order 13 pages which is a weird number on its
own (32MB) because there is no page table level to support them.
and have equal number of 32MB huge pages which I set up in boot
parameter.
hugetlb_init_hstates allocates them later on.
If there is no page table level to support them, how canBecause hugetlb hstate handling code doesn't care about page tables and
them present?
the way how those pages are going to be mapped _at all_. Or put it in
another way. Nobody prevents you to allocate order-5 page for a single
pte but that would be a pure waste. Page fault code expects that pages
with a proper size are allocated.