I want to reserve a hugepage at kernel (Ubuntu 3.13.0-32-generic) and share it with a user process. I used the code for regular page sharing from: http://people.ee.ethz.ch/~arkeller/linux/code/mmap_bart_tanghe_dan_hordern.c Then I used hugeadm to enable hugepages and transparent hugepages and added the corresponding grub configs. This post on stackoverflow says to use the following parameters for alloc_pages http://stackoverflow.com/questions/19460544/how-do-i-allocate-a-dma-buffer-backed-by-1gb-hugepages-in-a-linux-kernel-module struct page *p = alloc_pages(GFP_TRANSHUGE, HPAGE_PMD_ORDER); It didn't work as /proc/meminfo still says all huge pages are free. Then I changed vma->vm_flags |= VM_RESERVED; to vma->vm_flags |= VM_HUGETLB; but the following error happened: Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091381] BUG: unable to handle kernel paging request at 00000000006f0082 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091387] IP: [<ffffffff8119522e>] hugetlb_fault+0x3e/0x760 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091394] PGD bde87067 PUD c2ad7067 PMD b79ca067 PTE 0 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091399] Oops: 0000 [#1] SMP So it seems that something is wrong with hugetlb_fault. What else should I change to reserve a huge page? And the call trace is: Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091489] Call Trace: Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091496] [<ffffffff811795fd>] handle_mm_fault+0xd4d/0xf00 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091501] [<ffffffff8117da87>] ? vma_link+0xb7/0xc0 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091507] [<ffffffff81727be4>] __do_page_fault+0x184/0x560 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091512] [<ffffffff8101b7e9>] ? sched_clock+0x9/0x10 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091517] [<ffffffff8109d1ad>] ? sched_clock_local+0x1d/0x80 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091522] [<ffffffff8111155c>] ? acct_account_cputime+0x1c/0x20 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091527] [<ffffffff8109d7db>] ? account_user_time+0x8b/0xa0 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091531] [<ffffffff8109ddf4>] ? vtime_account_user+0x54/0x60 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091535] [<ffffffff81727fda>] do_page_fault+0x1a/0x70 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091540] [<ffffffff81724448>] page_fault+0x28/0x30 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091542] Code: 54 53 48 83 ec 38 48 8b 86 a0 00 00 00 48 89 55 d0 48 89 7d b8 89 4d ac 48 8b 40 20 48 8b 40 28 48 8b 80 f8 02 00 00 4c 8b 68 18 <49> 8b 45 10 48 21 45 d0 48 8b 75 d0 e8 c1 ed ff ff 48 85 c0 48 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091557] RIP [<ffffffff8119522e>] hugetlb_fault+0x3e/0x760 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091559] RSP <ffff880093cb1d28> Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091562] CR2: 00000000006f0082 Oct 4 15:43:50 masoud-VirtualBox kernel: [ 2756.091565] ---[ end trace 75afe8697af08287 ]-- -- Masoud Moshref Javadi Computer Engineering PhD Candidate Ming Hsieh Department of Electrical Engineering University of Southern California _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies