Re: Interrupt Service和DPC是否能够在Hyber-Threading的CPU上reentrant

Windows内核

Interrupt Service和DPC是否能够在Hyber-Threading的CPU上reentrant


Coding 2009-05-05, 09:04 上午

微软文档上说对于multiprocessor的系统,同一个设备的ISR和DPC函数可能同时运行在不同的processor上。

这里我对multiprocessor的理解有些不清楚。

如果这里的processor是物理上多个processor,这句话肯定是真的。

但是如果是multi Core的processor或者Hyber threading的processor,是否也为真呢。

同时引申出问题,spin lock和multi core,Hyber Threading的关系。

在multi core和Hyber Threading的CPU上,是否能够同时有两个thread运行在DISPACH LEVEL.

Re: Interrupt Service和DPC是否能够在Hyber-Threading的CPU上reentrant


格蠹老雷 2009-05-07, 12:36 下午
OS在调度和执行时是不区分一个逻辑CPU到底是一个Core、一个Hyper-threading还是一个完全独立的CPU的。对于Hyper-threading的情况,是这个逻辑CPU本身决定是否要继续执行,还是需要等待共享的计算资源。所以,我觉得,几个问题的答案都是YES :-)

Re: Interrupt Service和DPC是否能够在Hyber-Threading的CPU上reentrant


井底之蛙 2009-05-08, 18:38 下午
我问一个题外话,我Ctrl-Break中断的调试器,为什么每次都是0: kd,从来没有1: kd,难道时钟中断都分给0号CPU了啊?///

Powered by Community Server Powered by CnForums.Net