Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bio.c Create Date:2022-07-28 16:55:08
Last Modify:2020-03-17 23:13:58 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:page_is_mergeable

Proto:static inline bool page_is_mergeable(const struct bio_vec *bv, struct page *page, unsigned int len, unsigned int off, bool *same_page)

Type:bool

Parameter:

TypeParameterName
const struct bio_vec *bv
struct page *page
unsigned intlen
unsigned intoff
bool *same_page
686  vec_end_addr = Change "struct page" to physical address.(bv_page) + bv_offset + bv_len - 1
688  page_addr = Change "struct page" to physical address.(page)
690  If vec_end_addr + 1 != page_addr + off Then Return false
692  If xen_domain() && Not xen_biovec_phys_mergeable(bv, page) Then Return false
695  same_page = (vec_end_addr & PAGE_MASK) == page_addr
696  If Not same_page && pfn_to_page(PFN_DOWN(vec_end_addr)) + 1 != page Then Return false
698  Return true
Caller
NameDescribe
__bio_try_merge_page__bio_try_merge_page - try appending data to an existing bvec.*@bio: destination bio*@page: start page to add*@len: length of the data to add*@off: offset of the data relative to @page*@same_page: return if the segment has been merged inside the same page