tlb flushing on Power
Brian King
brking at linux.vnet.ibm.com
Fri Jan 27 01:41:36 EST 2012
CC'ing linuxppc-dev...
On 01/26/2012 08:18 AM, Seth Jennings wrote:
> Hey Dave,
>
> So I submitted the zsmalloc patches to lkml at the beginning
> of the year
>
> https://lkml.org/lkml/2012/1/9/389
>
> I found there are two functions Nitin used in the mapping
> functions that are not supported in the powerpc arch:
> set_pte() and __flush_tlb_one().
>
> set_pte() seems straightforward for the ppc64 case, although
> I think Power does some sort of pte hashing that might convolute
> it a little.
>
> My real question is how to achieve the function of __flush_tlb_one()
> on Power. I looked in Docuemntation/cachetlb.txt and it seems like
> the portable tlb flush functions are:
>
> void flush_tlb_all(void)
> void flush_tlb_mm(struct mm_struct *mm)
> void flush_tlb_range(struct vm_area_struct *vma,
> unsigned long start, unsigned long end)
> void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
>
> Of those options, flush_tlb_page() seems the closest to what
> __flush_tlb_one() does. However, we don't have a vma argument in
> our context (akaik) to send to it.
>
> I was wondering if you have any ideas. Any help is greatly appreciated!
>
> --
> Seth
--
Brian King
Linux on Power Virtualization
IBM Linux Technology Center
More information about the Linuxppc-dev
mailing list