Hi,
Regarding DSPLink with linux 3.1.10
While running the ti dsplink eamples ....first time after board boot and inserting the module ....on DM3730 based boards....i am getting following warning...........
second times..onwards...this warning is not coming...........
Please let me know the solution.....
dvsdk_dm3730-evm_04_03_00_06_setuplinux ...................all the packages are taken from this
1.dspbios_5_41_03_17
2.dsplink_1_65_01_05_eng
linux version 3.1.10 used for building dsplink & lpm & cmem
/opt/ti_dsplink_examples # ./loopgpp loop.out 1000 1000=============== Sample Application : LOOP ============== Executing sample for DSP processor Id 0 ====Entered LOOP_Create ()Leaving LOOP_Create ()Entered LOOP_Execute ()[ 62.549468] [ 62.549468] =============================================[ 62.556762] [ INFO: possible recursive locking detected ][ 62.562438] 3.1.10-svn70 #1[ 62.565399] ---------------------------------------------[ 62.571075] DSPLINK_DPC_2/550 is trying to acquire lock:[ 62.576690] (&obj->lock){+.+...}, at: [<bf011fcc>] SYNC_SpinLockStartEx+0x14/0x20 [dsplinkk][ 62.585906] [ 62.585906] but task is already holding lock:[ 62.592041] (&obj->lock){+.+...}, at: [<bf011fcc>] SYNC_SpinLockStartEx+0x14/0x20 [dsplinkk][ 62.601196] [ 62.601196] other info that might help us debug this:[ 62.608093] Possible unsafe locking scenario:[ 62.608093] [ 62.614349] CPU0[ 62.616912] ----[ 62.619476] lock(&obj->lock);[ 62.622802] lock(&obj->lock);[ 62.626129] [ 62.626129] *** DEADLOCK ***[ 62.626129] [ 62.632385] May be due to missing lock nesting notation[ 62.632385] [ 62.639556] 1 lock held by DSPLINK_DPC_2/550:[ 62.644134] #0: (&obj->lock){+.+...}, at: [<bf011fcc>] SYNC_SpinLockStartEx+0x14/0x20 [dsplinkk][ 62.653717] [ 62.653717] stack backtrace:[ 62.658386] [<c001be9c>] (unwind_backtrace+0x0/0x130) from [<c0092e18>] (__lock_acquire+0x18f0/0x1a88)[ 62.668212] [<c0092e18>] (__lock_acquire+0x18f0/0x1a88) from [<c0093590>] (lock_acquire+0x98/0x120)[ 62.677764] [<c0093590>] (lock_acquire+0x98/0x120) from [<c046d2fc>] (mutex_lock_interruptible_nested+0x5c/0x38c)[ 62.688720] [<c046d2fc>] (mutex_lock_interruptible_nested+0x5c/0x38c) from [<bf011fcc>] (SYNC_SpinLockStartEx+0x14/0x20 [dsplinkk])[ 62.701385] [<bf011fcc>] (SYNC_SpinLockStartEx+0x14/0x20 [dsplinkk]) from [<bf004930>] (IPS_notify+0x88/0x1ac [dsplinkk])[ 62.713104] [<bf004930>] (IPS_notify+0x88/0x1ac [dsplinkk]) from [<bf00b0a8>] (ZCPYDATA_send+0x100/0x18c [dsplinkk])[ 62.724365] [<bf00b0a8>] (ZCPYDATA_send+0x100/0x18c [dsplinkk]) from [<bf00b474>] (ZCPYDATA_dpc+0x340/0x3a8 [dsplinkk])[ 62.735931] [<bf00b474>] (ZCPYDATA_dpc+0x340/0x3a8 [dsplinkk]) from [<bf011268>] (DPC_Callback+0xa0/0xec [dsplinkk])[ 62.747131] [<bf011268>] (DPC_Callback+0xa0/0xec [dsplinkk]) from [<c007b124>] (kthread+0x80/0x88)[ 62.756622] [<c007b124>] (kthread+0x80/0x88) from [<c00159d8>] (kernel_thread_exit+0x0/0x8)Transferred 1000 buffersLeaving LOOP_Execute ()Entered LOOP_Delete ()Leaving LOOP_Delete ()====================================================
Awaitng for the positive response
Regards
Alex
alexander reddy While running the ti dsplink eamples ....first time after board boot and inserting the module ....on DM3730 based boards....i am getting following warning........... second times..onwards...this warning is not coming........... Please let me know the solution.....
Alex,
We're aware of this situation. It is something we'd like to prevent from happening, but the unfortunate reality is that the fix within DSPLink is quite extensive. Since it's just a warning I believe it can be ignored, although I'm sure you'd rather not see the warning at all, even though it occurs for just the first run.
The "fix" to prevent the nested lock situation lies within DSPLink code, so even if we had a plan to eliminate the situation (which we don't), it's there in your product.
The warning is about a *possible* deadlock, but our understanding of the situation is that it will not deadlock. The kernel is being paranoid because it's been configured to be paranoid (see below).
alexander reddy Regarding DSPLink with linux 3.1.10
Upgrading to a newer Linux release has most likely caused this warning to appear, even though the situation being warned about exists when DSPLink is used with older kernels too. This particular warning is output only when certain Linux kernel configuration elements are set. I believe those elements include:CONFIG_LOCKDEP_SUPPORTCONFIG_LOCKDEPCONFIG_DEBUG_KERNELand others, but I'm not very knowledgeable about kernel configuration.
So, although I cannot tell you a way to avoid the situation, we believe it will not lead to deadlock, and you can research how to get rid of the warning based on what I've told you above.
Regards,
- Rob