Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-28 14:59:34
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:_vm_unmap_aliases

Proto:static void _vm_unmap_aliases(unsigned long start, unsigned long end, int flush)

Type:void

Parameter:

TypeParameterName
unsigned longstart
unsigned longend
intflush
1707  If Value for the false possibility is greater at compile time(!vmap_initialized) Then Return
1710  might_sleep()
1712  for_each_possible_cpu(cpu)
1713  vbq = per_cpu(Queue of free and dirty vmap blocks, for allocation and flushing purposes , cpu)
1716  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
1718  spin_lock( & lock)
1719  If dirty Then
1720  va_start = va_start
1729  flush = 1
1731  spin_unlock( & lock)
1733  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
1736  mutex_lock( & Serialize vmap purging. There is no actual criticial section protected* by this look, but we want to avoid concurrent calls for performance* reasons and to make the pcpu_get_vm_areas more deterministic.)
1737  r per-CPU blocks
1738  If Not Purges all lazily-freed vmap areas. && flush Then flush_tlb_kernel_range(start, end)
1740  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
Caller
NameDescribe
vm_unmap_aliasesvm_unmap_aliases - unmap outstanding lazy aliases in the vmap layer* The vmap/vmalloc layer lazily flushes kernel virtual mappings primarily* to amortize TLB flushing overheads
vm_remove_mappingsHandle removing and resetting vm mappings related to the vm_struct.