On 1/28/2016 11:47 AM, Dan Williams
wrote:
Thank you .On Thu, Jan 28, 2016 at 2:41 AM, Julian Margetson <runaway@xxxxxxxx> wrote:On 1/27/2016 3:34 PM, Dan Williams wrote:On Wed, Jan 27, 2016 at 2:18 AM, Julian Margetson <runaway@xxxxxxxx> wrote:On 1/26/2016 9:43 PM, Dan Williams wrote: diff --git a/mm/memory.c b/mm/memory.c index 30991f83d0bf..c44e387130b2 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1521,6 +1521,8 @@ static int insert_pfn(struct vm_area_struct *vma, unsigned long addr, entry = pte_mkdevmap(pfn_t_pte(pfn, prot)); else entry = pte_mkspecial(pfn_t_pte(pfn, prot)); + pr_info("%s: entry: %#llx pfn: %#lx\n", __func__, + (unsigned long long) entry, pfn_t_to_pfn(pfn)); set_pte_at(mm, addr, pte, entry); update_mmu_cache(vma, addr, pte); /* XXX: why not for insert_page? */ ...of course for the passing case you'll need to drop the call to pfn_t_to_pfn() and just print the pfn directly. Thank you for the help tracking this down, it's much appreciated. Happy to help out. Just need some guidance sometimes as I am relatively new at this.No worries. So, below is the failing case, what does insert_pfn print in the passing case? No need for the full log just the first few lines after starting X when running the commit before this failing one... (commit 69660fd797c3 "x86, mm: introduce _PAGE_DEVMAP"). I'm still stumped given that PTE_RPN_SHIFT==PAGE_SHIFT in this configuration, so there's no 64-bit to 32-bit truncation to worry about...Having a problem building . CALL scripts/checksyscalls.sh <stdin>:1307:2: warning: #warning syscall copy_file_range not implemented [-Wcpp] CHK include/generated/compile.h CALL arch/powerpc/kernel/systbl_chk.sh CC mm/memory.o CHK kernel/config_data.h mm/memory.c: In function ‘insert_pfn’: mm/memory.c:1520:9: error: implicit declaration of function ‘pfn_t_to_pfn’ [-Werror=implicit-function-declaration] pr_info("%s: entry: %#llx pfn: %#lx\n", __func__, ^ mm/memory.c:1520:9: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘int’ [-Wformat=]Yes, when you go to the preceding commit pfn_t_to_pfn() no longer exists. You'll need to change the debug statement to: pr_info("%s: entry: %#llx pfn: %#lx\n", __func__, (unsigned long long) entry, pfn); Not getting any debug output . ============================================================================================ /* Ok, finally just insert the thing.. */ entry = pte_mkspecial(pfn_pte(pfn, prot)); pr_info("%s: entry: %#llx pfn: %#lx\n", __func__, (unsigned long long) entry, pfn); set_pte_at(mm, addr, pte, entry); update_mmu_cache(vma, addr, pte); /* XXX: why not for insert_page? */ ============================================================================================= [ 15.622581] systemd[1]: Mounted POSIX Message Queue File System. [ 15.785050] systemd[1]: Mounting Configuration File System... [ 15.888907] systemd[1]: Starting Apply Kernel Variables... [ 15.994762] systemd[1]: Mounting FUSE Control File System... [ 16.153688] systemd[1]: Mounted FUSE Control File System. Ubuntu Xenial Xerus (development branch) Sam460ex ttyS0 Sam460ex login: |
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel