Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:purge_fragmented_blocks

Proto:static void purge_fragmented_blocks(int cpu)

Type:void

Parameter:

TypeParameterName
intcpu
1565  LIST_HEAD(purge)
1568  vbq = per_cpu(Queue of free and dirty vmap blocks, for allocation and flushing purposes , cpu)
1570  _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
1573  If Not ( free + dirty == VMAP_BBMAP_BITS && dirty != VMAP_BBMAP_BITS ) Then Continue
1576  spin_lock( & lock)
1577  If free + dirty == VMAP_BBMAP_BITS && dirty != VMAP_BBMAP_BITS Then
1578  free = 0
1579  dirty = VMAP_BBMAP_BITS
1580  dirty_min = 0
1581  < dirty range = VMAP_BBMAP_BITS
1582  spin_lock( & lock)
1583  list_del_rcu - deletes entry from list without re-initialization*@entry: the element to delete from the list
1584  spin_unlock( & lock)
1585  spin_unlock( & lock)
1586  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
1587  Else spin_unlock( & lock)
1590  _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()
1593  deletes entry from list
1594  free_vmap_block(vb)
Caller
NameDescribe
purge_fragmented_blocks_allcpusr per-CPU blocks