why vfree() must not be called in interrupt context?
来源:互联网 发布:淘宝基金 编辑:程序博客网 时间:2024/05/16 06:56
Q: Why vfree must not be called in interrupt context?
A: the tlb flushing can deadlock with IRQs disabled as it relies on IPIs
suppose two cpus are in interrupt context (with interrupts disabled),
both then want to vfree which would result in a TLB flush, the TLB flush
will IPI the other cpu to clear its TLB, but the other CPU has interrupts
A: the tlb flushing can deadlock with IRQs disabled as it relies on IPIs
suppose two cpus are in interrupt context (with interrupts disabled),
both then want to vfree which would result in a TLB flush, the TLB flush
will IPI the other cpu to clear its TLB, but the other CPU has interrupts
disabled so both keep waiting for the other to process the TLB flush -> deadlock.
在x86的smp环境下,一个processor可以通过他自己的local apic向其他的cpu 发送interrupt (inter-processor interrupt)。
如果需要在每个cpu上flush tlb的话,就需要用到ipi了。
void flush_tlb_all(void)
{
on_each_cpu(do_flush_tlb_all, NULL, 1);
}
- why vfree() must not be called in interrupt context?
- render() must be called with a dict, not a Context. return HttpResponse(t.render(c))解决
- Why objc_msgSend Must be Written in Assembly
- viewDidAppear/viewWillAppear in UINavigationController not be called
- why 'not in' can not be followed with 'null'
- Why memory must be managed
- commit() should not be called while in auto-commit mode
- OnDestroy or PostNcDestroy in derived class will not be called.
- 使用Slidingmenu爆出“Both setBehindContentView must be called in onCreate in addition to setContentView.”
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- requestFeature() must be called before adding content
- Why Schduler function is not called?
- C#:PDU格式短信编解码(三)编码部分
- 如何修改应用兼容Android 3.0系统
- 關於基於WinCE下的聲音系統調試的一些經驗總結之驱动程式部分
- 一个用C语言实现的数学问题
- 安装英文版Wordpress如何快速转换成中文版
- why vfree() must not be called in interrupt context?
- 产品设计 - 细节处理
- Ubuntu环境下 Android平台源码的下载及编译
- php采集程序,大概应该是这个思路
- awk命令
- C#:PDU格式短信编解码(四)编码参数设置部分
- android XML 文件解析~SAX方式!
- ORA-01114错误原因及解决方法(临时表空间坏掉、或者满了)
- 装饰模式