开发者社区> 问答> 正文

中断函数的上半部、下半部

1)首先注册一个中断:ret = request_irq(fpga_irq,mpc83xx_fpga_interrupt,0,"fpga",NULL);
2)中断处理函数:static irqreturn_t mpc83xx_fpga_interrupt(int irq,void *dev_id);
{
........................................
mpc83xx_pkt_hander();
........................................
}
3)static void mpc83xx_pkt_hander();
{
..............................
..............................
}
首先使用gettimeofday();函数在中断处理函数中调用mpc83xx_pkt_hander()的前后计算时间为20us左右,而在mpc83xx_pkt_hander()函数内部执行开始和结尾使用gettimeofday()函数计算的时间为80us。
问题:mpc83xx_pkt_hander()应该只是中断函数中的一个普通的调用吧,为什么计算看上去是并发处理的?

展开
收起
杨冬芳 2016-07-12 15:20:56 1885 0
1 条回答
写回答
取消 提交回答
  • IT从业

    中断的上半部和下半部
    中断处理--上下半部机制
    中断处理“下半部”机制应该是一样的时间 感觉这样计算不是很准

    2019-07-17 19:55:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载