SN2_GLOBAL_TLB_PURGE

Section: (9)
Updated: 09 October 2005
Index Return to Main Contents

 

NAME

sn2_global_tlb_purge - globally purge translation cache of virtual address range  

SYNOPSIS

"SYNOPSIS"

void sn2_global_tlb_purge (unsigned long start, unsigned long end, unsigned long nbits);  

ARGUMENTS

start
start of virtual address range
end
end of virtual address range
nbits
specifies number of bytes to purge per instruction (num = 1<<(nbits & 0xfc))
 

DESCRIPTION

Purges the translation caches of all processors of the given virtual address range.  

NOTE

- cpu_vm_mask is a bit mask that indicates which cpus have loaded the context. - cpu_vm_mask is converted into a nodemask of the nodes containing the cpus in cpu_vm_mask. - if only one bit is set in cpu_vm_mask & it is the current cpu, then only the local TLB needs to be flushed. This flushing can be done using ptc.l. This is the common case & avoids the global spinlock. - if multiple cpus have loaded the context, then flushing has to be done with ptc.g/MMRs under protection of the global ptc_lock.


 

Index

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
NOTE

This document was created by man2html, using the manual pages.
Time: 00:02:49 GMT, October 09, 2005