Re: [PATCH v3 9/9] sparc64: Encode huge PMDs using PTE encoding.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Miller wrote:	[Wed Nov 13 2013, 03:54:52PM EST]
> From: David Miller <davem@xxxxxxxxxxxxx>
> Date: Wed, 13 Nov 2013 15:26:30 -0500 (EST)
> 
> > From: David Miller <davem@xxxxxxxxxxxxx>
> > Date: Wed, 13 Nov 2013 15:25:36 -0500 (EST)
> > 
> >> From: Bob Picco <bpicco@xxxxxxxxxx>
> >> Date: Wed, 13 Nov 2013 09:42:47 -0500
> >> 
> >>>>  		addr &= HPAGE_MASK;
> >>>> -		if (pmd_val(orig) & PMD_ISHUGE) {
> >>> 						^^
> >>> 					The left curly bracket was dropped.
> >> 
> >> I can't believe it, but it compiles with the brace both present, and removed.
> >> I don't know how this is possible.
> > 
> > Nevermind, my config lacked TRANSPARENT_HUGEPAGE, ignore me :-)
> 
> Ok here is the fixed version of patch #9, thanks Bob.
> 
> --------------------
> [PATCH v4 9/9] sparc64: Encode huge PMDs using PTE encoding.
> 
> Now that we have 64-bits for PMDs we can stop using special encodings
> for the huge PMD values, and just put real PTEs in there.
> 
> We allocate a _PAGE_PMD_HUGE bit to distinguish between plain PMDs and
> huge ones.  It is the same for both 4U and 4V PTE layouts.
> 
> We also use _PAGE_SPECIAL to indicate the splitting state, since a
> huge PMD cannot also be special.
> 
> All of the PMD --> PTE translation code disappears, and most of the
> huge PMD bit modifications and tests just degenerate into the PTE
> operations.  In particular USER_PGTABLE_CHECK_PMD_HUGE becomes
> trivial.
> 
> As a side effect, normal PMDs don't shift the physical address around.
> This also speeds up the page table walks in the TLB miss paths since
> they don't have to do the shifts any more.
> 
> Another non-trivial aspect is that pte_modify() has to be changed
> to preserve the _PAGE_PMD_HUGE bits as well as the page size field
> of the pte.
> 
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> ---
Acked-by: Bob Picco <bob.picco@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux