staticinlinevoid flush_tlb_mm(struct mm_struct *mm)
{
BUG_ON(mm == &init_mm); /* Should never happen */
#if1 || defined(CONFIG_SMP) /* Except for very small threads, flushing the whole TLB is *fasterthanusing__flush_tlb_range.Thepdtlbandpitlb *instructionsareveryslowbecauseoftheTLBbroadcast. *ItmightbefastertodolocalrangeflushesonallCPUs *onPA2.0systems.
*/
flush_tlb_all(); #else /* FIXME: currently broken, causing space id and protection ids *togooutofsync,resultinginfaultsonuserspaceaccesses. *Thisapproachneedsfurtherinvestigationsincerunningmany *smallapplications(e.g.,GCCtestsuite)isfasteronHP-UX.
*/ if (mm) { if (mm->context != 0)
free_sid(mm->context);
mm->context = alloc_sid(); if (mm == current->active_mm)
load_context(mm->context);
} #endif
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.