Hi Jan,
My problem appears in the function :
/***
* rt_icmp_release
*/
void rt_icmp_release(void)
{
rt_icmp_cleanup_echo_requests();
rt_inet_del_protocol(&icmp_protocol);
rt_bare_socket_cleanup(&icmp_socket);
}
in the function rt_bare_socket_cleanup() which called rtskb_pool_release()
I don't know if there enough information to solve the problem,
Best regards,
WALLOIS Cyril
Xenomai: suspending kernel thread bf0270e0 ('rtnet-rtpc') at 0xbf02b814 after
exception #8
kernel thread bf0270e0 :
/proc/kallsyms :
bf0270e0 b dispatch_task [rtnet]
0xbf02b814
/proc/kallsyms :
bf02b790 -> rt_icmp_echo_reply [rtipv4]
bf02b790 t $a [rtipv4]
0xbf02b814
bf02b8d8 t $d [rtipv4]
(begin of the module rt_ipv4 : 0x029000 , 0xbf02b814 should correspond to 2814)
With arm-linux-gnueabi-objdump -dSr rtipv4.ko I can solve the adress 0xbf02b814
(line 2814) :
/***
* rt_icmp_release
*/
void rt_icmp_release(void)
{
2610: e1a0c00d mov ip, sp
2614: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2618: e24cb004 sub fp, ip, #4 ; 0x4
rt_icmp_cleanup_echo_requests();
261c: ebfffffe bl 2584 <rt_icmp_cleanup_echo_requests>
261c: R_ARM_CALL rt_icmp_cleanup_echo_requests
rt_inet_del_protocol(&icmp_protocol);
2620: e59f000c ldr r0, [pc, #12] ; 2634 <.text+0x2634>
2624: ebfffffe bl ac8 <rt_inet_del_protocol>
2624: R_ARM_CALL rt_inet_del_protocol
unsigned int priority, unsigned int pool_size);
static inline void rt_bare_socket_cleanup(struct rtsocket *sock)
{
rtskb_pool_release(&sock->skb_pool);
2628: e59f0008 ldr r0, [pc, #8] ; 2638 <.text+0x2638>
262c: ebfffffe bl 0 <__rtskb_pool_release>
262c: R_ARM_CALL __rtskb_pool_release
rt_bare_socket_cleanup(&icmp_socket);
}
...
static inline int test_bit(int nr, const volatile unsigned long *addr)
{
return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
27f0: e59c3000 ldr r3, [ip]
* both statuses, assuming that the lowest bit is always set in
* the truth value (if this is wrong, the failed optimization will
* be caught in __ipipe_restore_pipeline_head() if
* CONFIG_DEBUG_KERNEL is set). */
if ((x ^ test_bit(IPIPE_STALL_FLAG, &ipipe_head_cpudom_var(status))) & 1)
27f4: e2033001 and r3, r3, #1 ; 0x1
27f8: e1500003 cmp r0, r3
27fc: 0a000000 beq 2804 <rt_icmp_echo_reply+0x74>
__ipipe_restore_pipeline_head(x);
2800: ebfffffe bl 0 <__ipipe_restore_pipeline_head>
2800: R_ARM_CALL __ipipe_restore_pipeline_head
2804: e5973028 ldr r3, [r7, #40]
2808: e2856024 add r6, r5, #36 ; 0x24
280c: e3a00000 mov r0, #0 ; 0x0
2810: e593300c ldr r3, [r3, #12]
2814: e3a01000 mov r1, #0 ; 0x0
2818: e1c602f0 strd r0, [r6, #32]
281c: e5863010 str r3, [r6, #16]
2820: e5973024 ldr r3, [r7, #36]
2824: e1d621b4 ldrh r2, [r6, #20]
2828: e1d330b4 ldrh r3, [r3, #4]
282c: e1530002 cmp r3, r2
2830: 1a000024 bne 28c8 <rt_icmp_echo_reply+0x138>
2834: ea000005 b 2850 <rt_icmp_echo_reply+0xc0>
* @addr: Address to start counting from
*/
------------------------------------------------------------------------------
_______________________________________________
RTnet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-users