tlb flushing on Power
brking at linux.vnet.ibm.com
Fri Jan 27 01:41:36 EST 2012
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
> 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!
Linux on Power Virtualization
IBM Linux Technology Center
More information about the Linuxppc-dev