[BUG/REGRESSION] Kernel 4.5-rc1 on Acube Sam460ex AMCC 460ex Power PC motherboards

Dan Williams dan.j.williams at intel.com
Thu Jan 28 07:47:49 PST 2016


On Thu, Jan 28, 2016 at 2:41 AM, Julian Margetson <runaway at candw.ms> wrote:
> On 1/27/2016 3:34 PM, Dan Williams wrote:
>>
>> On Wed, Jan 27, 2016 at 2:18 AM, Julian Margetson <runaway at candw.ms>
>> 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);


More information about the dri-devel mailing list