On Tue, 2008-12-09 at 07:10 -0600, Kumar Gala wrote:
> > +void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long
> > vmaddr)
> > +{
> > + unsigned int pid;
> > +
> > + preempt_disable();
> > + pid = vma ? vma->vm_mm->context.id : 0;
> > + if (pid != MMU_NO_CONTEXT)
> > +
+void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long
vmaddr)
+{
+ unsigned int pid;
+
+ preempt_disable();
+ pid = vma ? vma->vm_mm->context.id : 0;
+ if (pid != MMU_NO_CONTEXT)
+ _tlbil_va(vmaddr, pid);
+ preempt_enable();
+}
+EXPORT_S
This patch moves the whole no-hash TLB handling out of line into a
new tlb_nohash.c file, and implements some basic SMP support using
IPIs and/or broadcast tlbivax instructions.
Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---
v2. This variant fixes usage of linux/spinlock.h instead