在Linux,多处理器平台中,当产生中断时,哪个处理器会中断?
就我而言,我有一个用户空间程序来从spi控制器读取数据。用户空间调用read(),它在内核空间中具有类似spidev_read()的相应实现。 spidev_read()将处理spi控制器的中断,以便从寄存器中获取数据。
用户空间程序可能在不同的时间在不同的处理器上运行。 spi interrupt也将在不同的处理器上生成。
他们总是在同一个处理器上吗?我的意思是当用户空间程序运行在例如处理器-2上时,那么必须在处理器2上生成中断?这是正确的吗?如果是,那么哪一个是选择处理器运行的主要因素?我的意思是用户空间程序在处理器2上运行,因此为处理器2生成中断,或者只是反向情况?