cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
阅读:2509回复:5

驱动置事件太快应用响应不过来怎么办

楼主#
更多 发布于:2012-05-28 15:44
       就是很简单的驱动中用KeSetEvent()通知应用,在应用中用waitforsingleobject()等到事件后resetevent(),发现当驱动发事件的频率太快以后,应用有可能收不到,比如驱动一共发了10000次,在应用程序里可能只收到9000次,有没有人遇到过这种问题,有什么好的处理方法,或者可以用别的什么机制在驱动和应用之间传递通知,谢谢了!
sky
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2012-05-29 17:32
把多次的请求合并,降低次数?
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-05-31 17:17
回 znsoft 的帖子
znsoft:把多次的请求合并,降低次数? (2012-05-29 17:32)

用过了,但数据来的快了以后事件的速度又快上来了,znsoft大牛,对XP操作系统来说事件速度有没有一个限制。或者有没有别的方式让驱动通知应用比事件效率更高,谢谢!
sky
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
地板#
发布于:2012-06-01 17:19
请问znsoft,对于一个PCI桥片,我在中断处理函数中收中断,只记录中断次数,调用DPCFORISR,在DPCFORISR中传递数据,将中断处理函数记录的中断次数全部处理完,向应用发事件,这个流程有没有什么问题?
sky
yeaiping
驱动牛犊
驱动牛犊
  • 注册日期2007-07-29
  • 最后登录2014-07-06
  • 粉丝3
  • 关注6
  • 积分86分
  • 威望629点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2012-06-13 14:15
回 cross_sky 的帖子
cross_sky:请问znsoft,对于一个PCI桥片,我在中断处理函数中收中断,只记录中断次数,调用DPCFORISR,在DPCFORISR中传递数据,将中断处理函数记录的中断次数全部处理完,向应用发事件,这个流程有没有什么问题? (2012-06-01 17:19)

有问题啊,DPC的IRQL是在DISPATCH级的,这个级别也是不允许呆的时间过长,如果在这个里面处理数据,肯定是有问题的,将会影响系统的进程和线程调度。
授人以鱼不如授人以渔,反之,求鱼不如求渔
AioliaSky
驱动牛犊
驱动牛犊
  • 注册日期2012-06-14
  • 最后登录2012-10-25
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2012-06-14 01:24
类似应用层waitforsingleobject( ),同样的,驱动层也要等待
resetevent( )复位后,驱动层再KeSetEvent( )
否则还没来得及resetevent( )复位
驱动层就KeSetEvent( ),应用层肯定会滞后
同步机制就是这么回事
总之,应用层等待驱动层
那么驱动层也要等待应用层
礼尚往来嘛
游客

返回顶部