函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\z3fold.c Create Date:2022-07-27 18:04:26
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__release_z3fold_page

函数原型:static void __release_z3fold_page(struct z3fold_header *zhdr, bool locked)

返回类型:void

参数:

类型参数名称
struct z3fold_header *zhdr
boollocked
524  page等于virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(zhdr)
525  pool等于zhdr_to_pool(zhdr)
526  bool is_free = true
529  WARN_ON(!链表为空)
530  设置内存位
531  lear_bit - Clears a bit in memory*@nr: Bit to clear*@addr: Address to start counting from* This is a relaxed atomic operation (no implied memory barriers).
532  加自旋锁
533  如果非链表为空删除链表项并重新初始化
535  自旋锁解锁
538  read_lock( & lock)
539 i小于等于BUDDY_MASK循环
541  is_free = false
542  退出
545  如果非is_free设置内存位
547  read_unlock( & lock)
549  如果is_freekmem_cache_free(c_handle, slots)
552  如果lockedUnlock a z3fold page
555  加自旋锁
556  添加链表项
557  queue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
558  自旋锁解锁
调用者
名称描述
release_z3fold_page
release_z3fold_page_locked
release_z3fold_page_locked_list