| Function report | 
| Source Code: arch\x86\kernel\kvm.c | Create Date:2022-07-28 08:44:35 | 
| Last Modify:2020-03-16 21:33:46 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:@interrupt_kernel: Is this called from a routine which interrupts the kernel* (other than user space)?
Proto:void kvm_async_pf_task_wait(unsigned int token, int interrupt_kernel)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| unsigned int | token | |
| int | interrupt_kernel | 
| 105 | key = hash_32(token, KVM_TASK_SLEEP_HASHBITS) | 
| 106 | b = async_pf_sleepers[key] | 
| 108 | DECLARE_SWAITQUEUE(wait) | 
| 112 | raw_spin_lock( & lock) | 
| 113 | e = _find_apf_task(b, token) | 
| 114 | If e Then | 
| 118 | raw_spin_unlock( & lock) | 
| 121 | Return | 
| 125 | cpu = smp_processor_id() | 
| 130 | init_swait_queue_head( & wq) | 
| 131 | hlist_add_head( & link, & list) | 
| 132 | raw_spin_unlock( & lock) | 
| 134 | cycle | 
| 135 | If Not halted Then prepare_to_swait_exclusive( & wq, & wait, TASK_UNINTERRUPTIBLE) | 
| 137 | If hlist_unhashed( & link) Then Break | 
| 142 | If Not halted Then | 
| 144 | schedule() | 
| 145 | local_irq_disable() | 
| 146 | Else | 
| 150 | native_safe_halt() | 
| 151 | local_irq_disable() | 
| 156 | If Not halted Then finish_swait( & wq, & wait) | 
| 160 | Return | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |