函数逻辑报告 |
Source Code:kernel\irq\affinity.c |
Create Date:2022-07-27 11:16:23 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:q_create_affinity_masks - Create affinity masks for multiqueue spreading*@nvecs: The total number of vectors*@affd: Description of the affinity requirements* Returns the irq_affinity_desc pointer or NULL if allocation failed.
函数原型:struct irq_affinity_desc *irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
返回类型:struct irq_affinity_desc
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned int | nvecs | |
| struct irq_affinity * | affd |
| 419 | struct irq_affinity_desc * masks = NULL |
| 429 | 否则affvecs等于0 |
| 436 | 如果非calc_sets则calc_sets等于default_calc_sets |
| 442 | 如果WARN_ON_ONCE(nr_sets > IRQ_AFFINITY_MAX_SETS)则返回:NULL |
| 446 | 如果非affvecs则返回:NULL |
| 450 | 如果非masks则返回:NULL |
| 465 | ret等于ld affinity in two stages:* 1) spread present CPU on these vectors* 2) spread other possible CPUs on these vectors |
| 467 | 如果ret则 |
| 468 | 释放内存 |
| 469 | 返回:NULL |
| 476 | 如果usedvecs大于等于affvecs则curvec等于pre_vectors加affvecs |
| 478 | 否则curvec等于pre_vectors加usedvecs |
| 484 | 以i小于nvecs减post_vectors循环is_managed等于1 |
| 487 | 返回:masks |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |