函数逻辑报告 | 
Source Code:kernel\irq\ipi.c | 
Create Date:2022-07-27 11:15:50 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:q_reserve_ipi() - Setup an IPI to destination cpumask*@domain: IPI domain*@dest: cpumask of cpus which can receive the IPI* Allocate a virq that can be used to send IPI to any CPU in dest mask
函数原型:int irq_reserve_ipi(struct irq_domain *domain, const struct cpumask *dest)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct irq_domain * | domain | |
| const struct cpumask * | dest | 
| 30 | 如果非domain或非irq_domain_is_ipi(domain)则 | 
| 40 | nr_irqs等于pumask_weight - Count of bits in *srcp*@srcp: the cpumask to count bits (< nr_cpu_ids) in. | 
| 41 | 如果非nr_irqs则 | 
| 46 | 如果irq_domain_is_ipi_single(domain)则 | 
| 55 | 否则 | 
| 69 | next等于cpumask_next_zero(offset, dest) | 
| 72 | 如果next小于nr_cpu_ids则 | 
| 78 | virq等于irq_domain_alloc_descs( - 1, nr_irqs, 0, NUMA_NO_NODE, NULL) | 
| 79 | 如果virq小于等于0则 | 
| 84 | virq等于__irq_domain_alloc_irqs(domain, virq, nr_irqs, NUMA_NO_NODE, (void * )dest, true, NULL) | 
| 87 | 如果virq小于等于0则 | 
| 88 | 打印警告信息("Can't reserve IPI, failed to alloc hw irqs\n") | 
| 89 | 转到:free_descs | 
| 93 | data等于irq_get_irq_data(virq + i) | 
| 95 | ipi_offset等于offset | 
| 98 | 返回:virq | 
| 100 | free_descs : | 
| 102 | 返回:负EBUSY | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |