请在LINUX下作过1394卡开发的达人进来看下,送100分

fhuc 2006-11-23 11:27:28
我在LINUX环境下使用1394卡做异步的数据传输,就是在两台机器上使用1394卡相互通讯,现在的问题是,当A向B传输数据时,如果A传输速度较快,B处理不及时,B就会将数据全部累积到内核空间的缓冲,最终造成系统崩溃。我们现在希望有办法让B在处理不过来的时候,能只缓冲一部分数据,而过量数据全部丢弃,换句话说就是限制缓冲区大小。
各位看有什么办法,最好是能有调用1394卡的驱动接口发送数据的示例程序,谢谢了!
驱动就是开源的libraw1394.
...全文
219 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengwujun 2006-11-23
  • 打赏
  • 举报
回复
内核的可以存300个sk_buff结构,满了会丢掉数据, 不至于于崩溃吧

网卡驱动的处理, 网卡自己也可以停止接收和发送(dev_queue_stop), 3com的网卡驱动都时这么做的,当缓存区不够存一帧以太网数据(1500)时, 会调用dev_queue_stop停止接收

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧