阅读:1470回复:8
碰到奇怪的问题,请高手指点(跟fsw及加密卡驱动有关)。
加密卡驱动以及freeswan klips部分的接口我都采用了
hifn7811 的结构。也就是用了软中断机制。 但测试的时候速度就是提不上去。而我同时又奇怪的发 现,如果我在bh里面作适当的udelay(我作了udelay(90) ),发现速度提高了好几倍。 按理udelay 会是cpu 暂时的停止工作,应该是降性能才 对,我这种情况却是相反。 不知道哪位朋友遇到过类似的问题,或者哪位大虾明白这 个理,帮忙提个醒。谢谢了 |
|
|
沙发#
发布于:2002-11-08 15:27
我没做过,但是由于时序的原因,加上延时提高性能是不奇怪的。
|
|
板凳#
发布于:2002-11-08 16:34
但是由于时序的原因,加上延时提高性能是不奇怪的 有时是这样的,可能几个空循环就能使工作正常。 |
|
|
地板#
发布于:2002-11-08 16:37
可这是为什么呢?我想,如果能把这部分udelay 的时间
给充分利用起来,那么对性能的提高是很有帮助的。关 键是,我现在还不知道这奇怪的现象到底是什么原因造 成的... |
|
|
地下室#
发布于:2002-11-08 16:43
你可以这样做个实验:
中断不要分成2部分,就一个,而且什么都不做。 你看看系统会不会正常。 我以前做过一个程序,如果中断时间太短,中断就会出问题。加个printk就好了。 |
|
5楼#
发布于:2002-11-08 16:52
谢谢关注,可是...
1. 我就是从你说的这种情况改过来的。你说的这种情况 在数据进入硬件之后,必须等待中断的到来,这段时间 明显给浪费掉了,会影响性能。 2. 我的驱动在单独测试。就是自己写一个测试的内核模 块,模块中模拟了数据包的内容,然后去调用驱动接口。 这样子速度是正常的。就是在我加到freeswan 里之后,速 度明显降了下来。虽然加了udelay 可以提高很多,但也 远没有达到单独测试时的效果(大概只有1/2过一点)。 真是伤脑筋啊。朋友帮我多想想啦... 大家也帮个忙。谢 谢了... |
|
|
6楼#
发布于:2002-11-08 17:02
没用过该设备,不敢胡说。
还是你用示波器分析一下两者的波形吧。 |
|
7楼#
发布于:2002-11-08 17:03
a?
没有这玩意,也不会用这玩意啊 |
|
|
8楼#
发布于:2002-11-08 17:47
晕!那难度大点。
|
|