lkml.org 
[lkml]   [2016]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH 05/14] sparc64: Add PAGE_SHR_CTX flag
From
Date
On 12/17/2016 07:12 PM, David Miller wrote:
> From: Mike Kravetz <mike.kravetz@oracle.com>
> Date: Fri, 16 Dec 2016 10:35:28 -0800
>
>> @@ -166,6 +166,7 @@ bool kern_addr_valid(unsigned long addr);
>> #define _PAGE_EXEC_4V _AC(0x0000000000000080,UL) /* Executable Page */
>> #define _PAGE_W_4V _AC(0x0000000000000040,UL) /* Writable */
>> #define _PAGE_SOFT_4V _AC(0x0000000000000030,UL) /* Software bits */
>> +#define _PAGE_SHR_CTX_4V _AC(0x0000000000000020,UL) /* Shared Context */
>> #define _PAGE_PRESENT_4V _AC(0x0000000000000010,UL) /* Present */
>> #define _PAGE_RESV_4V _AC(0x0000000000000008,UL) /* Reserved */
>> #define _PAGE_SZ16GB_4V _AC(0x0000000000000007,UL) /* 16GB Page */
>
> You really don't need this.
>
> The VMA is available, and you can obtain the information you need
> about whether this is a shared mapping or not from the. It just isn't
> being passed down into things like set_huge_pte_at(). Simply make it
> do so.
>

I was more concerned about the page table walk code at tlb/tsb miss time.
Specifically, the code after tsb_miss_page_table_walk_sun4v_fastpath in
tsb.S. AFAICT, the tsb entries should have been created when the pte entries
were created. Yet, this code is still walking the page table and creating
tsb entries. We do not have a pointer to the vma here, and I thought it
would be somewhat difficult to get access. This is the reason why I went
down the path of a page flag.

--
Mike Kravetz

\
 
 \ /
  Last update: 2016-12-19 01:45    [W:1.426 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site