Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:debug_dma_assert_idle() - assert that a page is not undergoing dma*@page: page to lookup in the dma_active_cacheline tree* Place a call to this routine in cases where the cpu touching the page* before the dma completes (page is dma_unmapped) will lead to

Proto:void debug_dma_assert_idle(struct page *page)

Type:void

Parameter:

TypeParameterName
struct page *page
562  struct dma_debug_entry * entry = NULL
563  void * * results = (void * * ) & ents
568  If dma_debug_disabled() Then Return
571  If Not page Then Return
574  cln = page_to_pfn(page) << CACHELINE_PER_PAGE_SHIFT
575  spin_lock_irqsave( & radix_lock, flags)
576  nents = adix_tree_gang_lookup - perform multiple lookup on a radix tree*@root: radix tree root*@results: where the results of the lookup are placed*@first_index: start the lookup from this key*@max_items: place up to this many items at *results
578  When i < nents cycle
579  ent_cln = to_cacheline_number(ents[i])
581  If ent_cln == cln Then
582  entry = ents[i]
583  Break
584  Else if ent_cln >= cln + CACHELINES_PER_PAGE Then Break
587  spin_unlock_irqrestore( & radix_lock, flags)
589  If Not entry Then Return
592  cln = to_cacheline_number(entry)