edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1852回复:19

关于改造 Passthru,请给点建议。

楼主#
更多 发布于:2002-12-05 15:34
我想达到这样的效果,每从上层接到一个包或从底层收到一个包,都将包数据复制到自己的“单一缓冲区”中,使包数据变成连续的。

这样一来,肯定还要分配缓冲池,那么缓冲区描述符所描述的内存该怎么分配?每得到一个包就调用 NdisAllocateMemory 分配?这样做效率会不会很差?

应该怎么做?大家请给点建议!
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-06 10:55
那我为每个缓冲区预留的缓冲区应该有多大?也就是说一个包最大能有多大?我看到 PCAUSA 的 PIM 代码里是 2048 Bytes。
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-07 09:57
对,就是这个意思。象 PCAUSA 的 PIM 那样,每收到一个包就把它复制到一个连续的缓冲区中,我不知道这样做一般的或者说比较优化的方法是什么。我现在在初始化的时候一次性的申请了 N 块 2048 Bytes 的内存用来完成这个工作。
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-07 10:19
对啊,它是把一个包的数据都复制到了一个连续的缓冲区中,我实现申请了 N 块以备后用,大概我上面没说清楚。

那 mikeluo,你认为该怎么做的呢?
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-07 11:28
可是 mikeluo,这样效率会不会很差(每处理一个包就动态申请,处理完再释放)?

我现在在初始化期间可能申请的内存太多了,Passthru 居然不能工作了!
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-07 11:37
你的 VPN 也是在处理包的时候这样操作吗?我还听说如果在 SendPacket 里面处理包的话会降低效率,所以现在对程序结构和运作逻辑都觉得挺没底!
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-07 11:40
第一次做 WDM 和 IMD,感觉就象到了外太空,又新奇又觉得心里没数,呵呵,还望老兄指点!
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-07 13:19
mikeluo,最后一个问题!为什么收包就要特殊处理?
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-07 13:32
哦,原来如此,又学到东西了!给分!
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-07 13:38
哈哈,好的!
游客

返回顶部