Re: [Ocf-linux-users] PD: OCF's ixp4xx freeze on 2.6.18-rt7
Brought to you by:
david-m
|
From: Tomasz R. <tro...@pr...> - 2007-10-16 13:12:01
|
Hi David,
Do you made any progress?
Regards,
Tomasz
> -----Wiadomość oryginalna-----
> > Od: David McCullough [mailto:Dav...@se...]
> > Wysłano: Pt 2007-09-28 15:25
> > Do: Rostanski, Tomasz
> > DW: ocf...@li...
> > Temat: Re: OCF's ixp4xx freeze on 2.6.18-rt7
> >
> >
> > Jivin Tomasz Rostanski lays it down ...
>> > > David,
>> > >
>>> > > >The latest I can try with easily is 2.3. Do you have that ?
>> > >
>> > > We've been using version 2.3 but the OCF wasn't working too.
Some time
>> > > ago we have moved to the version 2.4 because we have found it
working
>> > > faster that the 2.3 (or maybe I have configured it better).
> >
> > :-)
> >
>> > > I know the version 3.0 is released so I would like to try it
too. It
>> > > should have the ethernet driver written better, so perhaps
someday I
>> > > would need to go to 3.0.
> >
> > Check the release notes for 3.0, ixp42x has been dropped, ixp43x and
> > ixp46x are still supported. Looks like 2.4 is the last for the
> > ixp420/425.
> >
>>> > > >I believe we have 2.4 going into our tree very soon now (week
or so)
>>> > > >so I can try it then.
>> > >
>> > > Ok, so please let me know how would it work then.
> >
> > Once it's in I'll let you know,
> >
> > Cheers,
> > Davidm
> >
>>>> > > >>David McCullough pisze:
>>>>> > > >>>Jivin Tomasz Rostanski lays it down ...
>>>>>> > > >>>>Hi,
>>>>>> > > >>>>
>>>>>> > > >>>>It seems that the crypto_done is never been called, so
the loop is
>>>>>> > > >>>>waiting infinitive and the device freezes.
>>>>>> > > >>>>So it definitelly could as you have described. However I
have checked
>>>>>> > > >>>>the function ixCryptoAccAuthCryptPerform to see if it
has changed
> > since
>>>>>> > > >>>>2.0 version of the library but is exactly the same.
>>>>>> > > >>>>I'll try to find what are the differences in crypto part
of the
> > library
>>>>>> > > >>>>- maybe there I will find the clue.
>>>>> > > >>>Lets hope. We have 2.1 running here (not sure if thats in
your tree or
>>>>> > > >>>not). It seems to be behaving so far. Mostly IXP465
testing though.
>>>>> > > >>>
>>>>>> > > >>>>btw. The ixpCryptoAccCtxRegister failed 6 error I got
when I tried to
>>>>>> > > >>>>run this on another board - I have returned to my
current one ;)
>>>>> > > >>>Ok, best I can tell, 6 = ALG unsupported, which doesn't
really make
>>>>> > > >>>sense, but perhaps that helps you. You can find the enum
(grrr enum
>>>>> > > >>>errors) in:
>>>>> > > >>>
>>>>> > > >>> ixp400-1.4/ixp400_xscale_sw/src/include/IxCryptoAcc.h
>>>>> > > >>>
>>>>> > > >>>Cheers,
>>>>> > > >>>Davidm
>>>>> > > >>>
>>>>>> > > >>>>David McCullough wrote:
>>>>>>> > > >>>>>Jivin Tomasz Rostanski lays it down ...
>>>>>>>> > > >>>>>>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.
>>>>>>> > > >>>>>We have seen something like this just recently. A
hash of a 0 length
>>>>>>> > > >>>>>buffer would cause an error and the access lib would
not report it,
> > or
>>>>>>> > > >>>>>call the callback.
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>Any chance you are doing something like this ?
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>Setting CRYPTO_F_DONE in ixp_q_process when you get a
>>>>>>> > > >>>>>IX_CRYPTO_ACC_STATUS_SUCCESS is not good, you will be
returning
> > before
>>>>>>> > > >>>>>the operation is completed.
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>CRYPTO_F_DONE is set by the call to crypto_done,
which happens on
>>>>>>> > > >>>>>error
>>>>>>> > > >>>>>or when the callback occurs.
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>I am guessing you are past this error as well:
>>>>>>> > > >>>>>
>>>>>>> > > >>>>> "ixpCryptoAccCtxRegister failed 6"
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>Cheers,
>>>>>>> > > >>>>>Davidm
>>>>>>> > > >>>>>
>>>>>>> > > >>>>>
>>>>>>>> > > >>>>>>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
>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>
>>> > > >
>> > >
> >
> > --
> > David McCullough, dav...@se..., Ph:+61
734352815
> > Secure Computing - SnapGear http://www.uCdot.org
http://www.cyberguard.com
> >
> >
> >
|