本文将对sharepool相关接口进行总结
接口列表
接口名 | 功能 | 备注 |
---|---|---|
sp_group_add_task | 向sharepool中添加一个进程 | 不能用于中断上下文 |
sp_group_drop | 丢弃一个spg | 每次使用一个spg后调用 |
sp_group_add_task
函数声明
sp_group_add_task
声明如下:
1 | /** |
流程图
向sharepool组中添加一个进程的整体流程图如下所示:
spg id检查
1 | /* mdc scene hack */ |
寻找对应进程
1 | down_write(&sp_group_sem); |
寻找进程对应的mm
1 | mm = get_task_mm(tsk->group_leader); |
寻找或者分配一个spg
1 | spg = find_or_alloc_sp_group(spg_id); |
更新spa
1 | list_for_each_entry(spa, &spg->spa_list, link) { |