Re: [Ocf-linux-users] OCF's ixp4xx freeze on 2.6.18-rt7
Brought to you by:
david-m
|
From: Tomasz R. <tro...@pr...> - 2007-09-12 11:11:34
|
Hi,
I have debug the code a bit and found where the freeze is.
The waiting code in cryptodev_op is never ending from the while loop:
do {
wait_event_interruptible(...);
} while ((crp->crp_flags & CRYPTO_F_DONE) == 0);
When I set the rp->crp_flags to CRYPTO_F_DONE in ixp_q_process before
return when status equals to IX_CRYPTO_ACC_STATUS_SUCCESS the freeze is
not happening.
So maybe there is something is wrong with wait_event_interruptible
function in my kernel or I don't know.
Regards,
Tomasz
David McCullough napisa?(a):
> Jivin Tomasz Rostanski lays it down ...
>> Hi,
>>
>>>> I have checked the latest ixp400 access lib (2.4) and ixp_400 ethernet
>>>> driver (1.7). I didn't use the Intel patches for crypto initialization
>>>> in ixp400_eth.
>>>> The result is still the same - the device freezes when I run openssl or
>>>> ssh.
>>>> I'm having microcode compiled in driver - load it from file to
>>>> /dev/ixNpe, so I have recompiled it and load the microcode from file but
>>>> this didn't make any difference.
>>> Are you using the "crypto version" of the access library ?
>> Yes, I'm using the crypto version of the library.
>>
>>>> Could this issue be related with the hardware? I'm using the AirTegrity
>>>> box which was designed completely by them and not uses redboot
>>>> bootloader but their own one. Could it be the reason of the problem I'm
>>>> having?
>>> No, we do the same, it has no bearing on how the NPE's do their thing.
>>>
>>> Are you loading the correct NPE code (with crypto support etc).
>> Normally I have NPE code compiled in the sources. I'm using the version
>> with crypto support so it should be ok.
>
> ok.
>
>>>> I'll give a try on Gateworks GW2347 and see if it will be working as it
>>>> should or not.
>> Ok, I have a problem with initialization crypto on the gw2347 - the message:
>> "ixpCryptoAccCtxRegister failed 6" appears when I run openssl - I have
>
> Thats sounds weird. It sounds like the crypto isn't working properly
> for some reason.
>
> ixpCryptoAccCtxRegister doesn't need much to work.
>
>> checked and the ixp4xx module when loading returns the error that cannot
>> initialize crypto.
>
> That is ok, if the network driver init's the crypto then you will get
> this error since we cannot tell that it has been done, yet it returns a
> fail if it is already initted.
>
> Might be worth checking the details of the error.
>
> Cheers,
> Davidm
>
>>>> David McCullough napisa?(a):
>>>>> Jivin Tomasz Rostanski lays it down ...
>>>>>> Hi,
>>>>>>
>>>>>>> Which access library version are you using ?
>>>>>> The full name is ixp400accesslibrarywithcrypto-2.3.1
>>>>> Ok, not sure we have tested OCF with version 2.3 of the access lib.
>>>>> It is part of our tree so I will try it.
>>>>>
>>>>> Not sure you mentioned which sources you are using, but the
>>>>> uClinux-dist or SnapGear dists have very good IXP425 support
>>>>> and less patching ;-)
>>>>>
>>>>>>> Can you load ocf, cryptodev and ixp4xx all with debug enabled:
>>>>>>>
>>>>>>> modprobe ocf crypto_debug=1
>>>>>>> modprobe cryptodev cryptodev_debug=1
>>>>>>> modprobe ixp4xx ixp_debug=1
>>>>>>>
>>>>>>> The run the test, capture all the console output and send me a copy
>>>>>>> for reference.
>>>>>> The output is attached (ocf.log).
>>>>> Ok, I will try and get some time on it in the next day or so, thanks.
>>>>>
>>>>> Actually, just had a quick look, I think the access lib is blowing the
>>>>> stack. It is renowned for doing this.
>>>>>
>>>>> If you can try increasing the kernel stack size to 8K if it isn't
>>>>> already it might help.
>>>>>
>>>>> Otherwise, you may find the info to fix it in our access lib patch:
>>>>>
>>>>> http://ftp.snapgear.org/pub/snapgear/src/snapgear-modules-20061012.sh
>>>>>
>>>>> Or perhaps try the Snapgear/uClinux-dist if you have time. We have all
>>>>> these sort or problems sorted already ;-)
>>>>>
>>>>>>> Have you tried turning off preemption ? I don't think I have ever
>>>>>>> tested with that.
>>>>>> Yes, I have tried but didn't help :(
>>>>> Oh well, looks like a real bug then ;-)
>>>>>
>>>>> Cheers,
>>>>> Davidm
>>>>>
>>>>>>>> David McCullough napisa?(a):
>>>>>>>>> Jivin Tomasz Rostanski lays it down ...
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I tried using ixp4xx module for hardware crypto on my ixp425 device
>>>>>>>>>> with kernel 2.6.18-rt7 (PREEMPT_DESKTOP). I'm using ixp400 access
>>>>>>>>>> library with crypto in version 2.3.1 and ixp400_eth driver in
>>>>>>>>>> version 1.6 (with Intel's patch for OCF support -
>>>>>>>>>> http://downloadcenter.intel.com/detail_desc.aspx?ProductID=2100&DwnldID=11266&agr=Y).
>>>>>>>>>>
>>>>>>>>>> I'm loading the modules like described in Intel readme:
>>>>>>>>>> mknod /dev/crypto c 10 70
>>>>>>>>>> mknod -m 666 /dev/ixNpe c 241 0
>>>>>>>>>> modprobe ixp400 >/dev/null 2>/dev/null
>>>>>>>>>> modprobe ixp400_eth >/dev/null 2>/dev/null
>>>>>>>>>> modprobe ocf
>>>>>>>>>> modprobe cryptodev
>>>>>>>>>> modprobe ixp4xx ixp_init_crypto=0
>>>>>>>>>>
>>>>>>>>>> Then when I run the: openssl speed -elapsed -evp des-ede3-cbc -cpu
>>>>>>>>>> -engine cryptodev the device hangs (I'm using openssl-0.9.8a
>>>>>>>>>> patched for OCF). The same happend when I tried to connect from the
>>>>>>>>>> device using ssh.
>>>>>>>>>> I have enabled debugging and saw that the debugging from
>>>>>>>>>> ixp_q_process is the last one displayed. So I have started adding
>>>>>>>>>> some debug messages to that function and found that the hand
>>>>>>>>>> appears after the following code:
>>>>>>>>>> if (IX_CRYPTO_ACC_STATUS_SUCCESS == status)
>>>>>>>>>> return;
>>>>>>>>>> So I have changed return to goto done and check what will happen -
>>>>>>>>>> this time the openssl didn't hang and did it's work. But the ssh is
>>>>>>>>>> not working - displays evp_crypt: EVP_Cipher failed and exits.
>>>>>>>>>>
>>>>>>>>>> I have tried the cryptosoft module instead of ixp4xx and this one
>>>>>>>>>> works without any problems, so it seems that some problem exists in
>>>>>>>>>> ixp4xx module.
>>>>>>>>>>
>>>>>>>>>> Do you have any clue what could be wrong? I'm almost sure that
>>>>>>>>>> someday on older kernel (2.6.12) I got ixp4xx working without
>>>>>>>>>> problems.
>>>>>>>>> You might want to try incorporating the latest code from the
>>>>>>>>> sourceforge
>>>>>>>>> site. I haven't seen a like up like you describe on the ixp for a
>>>>>>>>> long
>>>>>>>>> time and I don't know exactly everything that is in the Intel
>>>>>>>>> patches.
>>>>>>>>>
>>>>>>>>> Try out the latest download at:
>>>>>>>>>
>>>>>>>>> ocf-linux.sourceforge.net
>>>>>>>>>
>>>>>>>>> and then it will be much easier for me to help you. I run IXP boards
>>>>>>>>> here and can easily try some things,
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Davidm
>>>>>>>>>
>
|