Arnold kang
2014-04-11 05:50:37 UTC
Dear Richard,
thanks for your reply. as i asked , my linux kernel is 3.0, and
my phy is DP83640, and my mac is stmmac, and my cpu is arm A9,
when i run it and use hardware timestamp (./ptp4l - H -i eth0 -p
/dev/ptp0) on my system, the kernel crashed. (crash log is appended in
below)
and can i ask a question, " In order for this to work, your MAC
driver must also
implement the skb_tx_timestamp() function." (drivers/ptp/Kconfig),
what's this mean? should i modify the mac driver.
here is kernel crash log:
<INFO: rcu_sched_state detected stall on CPU 0 (t=6000 jiffies)
Backtrace for cpu 0 (current):
Backtrace:
[<c0041edc>] (dump_backtrace+0x0/0x110) from [<c0520be8>]
(dump_stack+0x18/0x1c)
r6:00000000 r5:00000000 r4:c0667784 r3:c3b7c000
[<c0520bd0>] (dump_stack+0x0/0x1c) from [<c00436b4>]
(smp_send_all_cpu_backtrace+0x74/0x104)
[<c0043640>] (smp_send_all_cpu_backtrace+0x0/0x104) from [<c003f518>]
(arch_trigger_all_cpu_backtrace+0x10/0x14)
r7:c0648180 r6:c0642080 r5:c0648180 r4:c0747440
[<c003f508>] (arch_trigger_all_cpu_backtrace+0x0/0x14) from [<c0096018>]
(__rcu_pending+0x158/0x398)
[<c0095ec0>] (__rcu_pending+0x0/0x398) from [<c00962d0>]
(rcu_check_callbacks+0x78/0x168)
[<c0096258>] (rcu_check_callbacks+0x0/0x168) from [<c00661c4>]
(update_process_times+0x40/0x54)
r5:00000000 r4:c38c3840
[<c0066184>] (update_process_times+0x0/0x54) from [<c0083508>]
(tick_periodic+0x5c/0xcc)
r6:91717f80 r5:00000000 r4:c06420c4 r3:00000000
[<c00834ac>] (tick_periodic+0x0/0xcc) from [<c00835a4>]
(tick_handle_periodic+0x2c/0xa8)
r9:c3806280 r8:00000023 r7:00000000 r6:c0747040 r4:c06aa098
r3:c0747040
[<c0083578>] (tick_handle_periodic+0x0/0xa8) from [<c0083944>]
(tick_do_periodic_broadcast+0xf4/0xfc)
[<c0083850>] (tick_do_periodic_broadcast+0x0/0xfc) from [<c0083964>]
(tick_handle_periodic_broadcast+0x18/0x78)
r6:c06461c0 r5:c38062cc r4:c0646220 r3:c008394c
[<c008394c>] (tick_handle_periodic_broadcast+0x0/0x78) from
[<c0049fb4>] (godnet_timer_interrupt+0x38/0x40)
[<c0049f7c>] (godnet_timer_interrupt+0x0/0x40) from [<c009014c>]
(handle_irq_event_percpu+0x58/0x188)
[<c00900f4>] (handle_irq_event_percpu+0x0/0x188) from [<c00902c4>]
(handle_irq_event+0x48/0x68)
[<c009027c>] (handle_irq_event+0x0/0x68) from [<c0092ae4>]
(handle_fasteoi_irq+0xa4/0x118)
r6:00000023 r5:c38062cc r4:c3806280 r3:c0035110
[<c0092a40>] (handle_fasteoi_irq+0x0/0x118) from [<c00900d8>]
(generic_handle_irq+0x30/0x38)
r5:c0035b0c r4:00000023
[<c00900a8>] (generic_handle_irq+0x0/0x38) from [<c0037060>]
(asm_do_IRQ+0x60/0xc0)
r4:c0642480 r3:00000080
[<c0037000>] (asm_do_IRQ+0x0/0xc0) from [<c003d778>]
(__irq_svc+0x38/0xa0)
Exception stack(0xc3b7dcd0 to 0xc3b7dd18)
dcc0: c384c588 00000003
00000001 00000001
dce0: c384c588 c384c000 c384c3a0 c065b71c 000000e5 c3b7c000
000000e5 c3b7dd24
dd00: c3b7dd28 c3b7dd18 bf000748 c05235e4 20000013 ffffffff
r7:c065b71c r6:00000023 r5:fe300100 r4:ffffffff
[<c05235c8>] (_raw_spin_lock+0x0/0x30) from [<bf000748>]
(stmmac_multicast_list+0x20/0x4c [stmmac])
[<bf000728>] (stmmac_multicast_list+0x0/0x4c [stmmac]) from
[<c041ba54>] (__dev_set_rx_mode+0x6c/0xa0)
r6:00000000 r5:bf00dfe0 r4:c384c000 r3:bf000728
[<c041b9e8>] (__dev_set_rx_mode+0x0/0xa0) from [<c04262d8>]
(__dev_mc_add+0x50/0x64)
r6:00000000 r5:c384c12c r4:c384c000 r3:00000004
[<c0426288>] (__dev_mc_add+0x0/0x64) from [<c0426318>]
(dev_mc_add+0x14/0x18)
r7:c3b7ddcc r6:c381d000 r5:00000001 r4:c3b90600
[<c0426304>] (dev_mc_add+0x0/0x18) from [<c0384470>]
(enable_status_frames+0x8c/0xc8)
[<c03843e4>] (enable_status_frames+0x0/0xc8) from [<c03848cc>]
(dp83640_hwtstamp+0x170/0x290)
r5:c3b7de88 r4:c3b90600
[<c038475c>] (dp83640_hwtstamp+0x0/0x290) from [<c0382090>]
(phy_mii_ioctl+0x94/0x1ac)
[<c0381ffc>] (phy_mii_ioctl+0x0/0x1ac) from [<bf000710>]
(stmmac_ioctl+0x60/0x78 [stmmac])
r6:c3b7de88 r5:c384c588 r4:c384c000 r3:00000001
[<bf0006b0>] (stmmac_ioctl+0x0/0x78 [stmmac]) from
[<c0420fcc>] (dev_ifsioc+0x288/0x3d0)
r5:000089b0 r4:c384c000
[<c0420d44>] (dev_ifsioc+0x0/0x3d0) from [<c042166c>]
(dev_ioctl+0x558/0x930)
r6:c3b7de88 r5:c06bd9a0 r4:000089b0 r3:c38c3840
[<c0421114>] (dev_ioctl+0x0/0x930) from [<c040a36c>]
(sock_ioctl+0x9c/0x270)
[<c040a2d0>] (sock_ioctl+0x0/0x270) from [<c00dc9ac>]
(do_vfs_ioctl+0x8c/0x5d8)
r6:0000fdfd r5:c3abb140 r4:bec5ba94 r3:c040a2d0
[<c00dc920>] (do_vfs_ioctl+0x0/0x5d8) from [<c00dcf38>]
(sys_ioctl+0x40/0x68)
[<c00dcef8>] (sys_ioctl+0x0/0x68) from [<c003db80>]
(ret_fast_syscall+0x0/0x30)
r7:00000036 r6:0000000b r5:000089b0 r4:bec5ba94
sending IPI to all other CPUs:
thanks
thanks for your reply. as i asked , my linux kernel is 3.0, and
my phy is DP83640, and my mac is stmmac, and my cpu is arm A9,
when i run it and use hardware timestamp (./ptp4l - H -i eth0 -p
/dev/ptp0) on my system, the kernel crashed. (crash log is appended in
below)
and can i ask a question, " In order for this to work, your MAC
driver must also
implement the skb_tx_timestamp() function." (drivers/ptp/Kconfig),
what's this mean? should i modify the mac driver.
here is kernel crash log:
<INFO: rcu_sched_state detected stall on CPU 0 (t=6000 jiffies)
Backtrace for cpu 0 (current):
Backtrace:
[<c0041edc>] (dump_backtrace+0x0/0x110) from [<c0520be8>]
(dump_stack+0x18/0x1c)
r6:00000000 r5:00000000 r4:c0667784 r3:c3b7c000
[<c0520bd0>] (dump_stack+0x0/0x1c) from [<c00436b4>]
(smp_send_all_cpu_backtrace+0x74/0x104)
[<c0043640>] (smp_send_all_cpu_backtrace+0x0/0x104) from [<c003f518>]
(arch_trigger_all_cpu_backtrace+0x10/0x14)
r7:c0648180 r6:c0642080 r5:c0648180 r4:c0747440
[<c003f508>] (arch_trigger_all_cpu_backtrace+0x0/0x14) from [<c0096018>]
(__rcu_pending+0x158/0x398)
[<c0095ec0>] (__rcu_pending+0x0/0x398) from [<c00962d0>]
(rcu_check_callbacks+0x78/0x168)
[<c0096258>] (rcu_check_callbacks+0x0/0x168) from [<c00661c4>]
(update_process_times+0x40/0x54)
r5:00000000 r4:c38c3840
[<c0066184>] (update_process_times+0x0/0x54) from [<c0083508>]
(tick_periodic+0x5c/0xcc)
r6:91717f80 r5:00000000 r4:c06420c4 r3:00000000
[<c00834ac>] (tick_periodic+0x0/0xcc) from [<c00835a4>]
(tick_handle_periodic+0x2c/0xa8)
r9:c3806280 r8:00000023 r7:00000000 r6:c0747040 r4:c06aa098
r3:c0747040
[<c0083578>] (tick_handle_periodic+0x0/0xa8) from [<c0083944>]
(tick_do_periodic_broadcast+0xf4/0xfc)
[<c0083850>] (tick_do_periodic_broadcast+0x0/0xfc) from [<c0083964>]
(tick_handle_periodic_broadcast+0x18/0x78)
r6:c06461c0 r5:c38062cc r4:c0646220 r3:c008394c
[<c008394c>] (tick_handle_periodic_broadcast+0x0/0x78) from
[<c0049fb4>] (godnet_timer_interrupt+0x38/0x40)
[<c0049f7c>] (godnet_timer_interrupt+0x0/0x40) from [<c009014c>]
(handle_irq_event_percpu+0x58/0x188)
[<c00900f4>] (handle_irq_event_percpu+0x0/0x188) from [<c00902c4>]
(handle_irq_event+0x48/0x68)
[<c009027c>] (handle_irq_event+0x0/0x68) from [<c0092ae4>]
(handle_fasteoi_irq+0xa4/0x118)
r6:00000023 r5:c38062cc r4:c3806280 r3:c0035110
[<c0092a40>] (handle_fasteoi_irq+0x0/0x118) from [<c00900d8>]
(generic_handle_irq+0x30/0x38)
r5:c0035b0c r4:00000023
[<c00900a8>] (generic_handle_irq+0x0/0x38) from [<c0037060>]
(asm_do_IRQ+0x60/0xc0)
r4:c0642480 r3:00000080
[<c0037000>] (asm_do_IRQ+0x0/0xc0) from [<c003d778>]
(__irq_svc+0x38/0xa0)
Exception stack(0xc3b7dcd0 to 0xc3b7dd18)
dcc0: c384c588 00000003
00000001 00000001
dce0: c384c588 c384c000 c384c3a0 c065b71c 000000e5 c3b7c000
000000e5 c3b7dd24
dd00: c3b7dd28 c3b7dd18 bf000748 c05235e4 20000013 ffffffff
r7:c065b71c r6:00000023 r5:fe300100 r4:ffffffff
[<c05235c8>] (_raw_spin_lock+0x0/0x30) from [<bf000748>]
(stmmac_multicast_list+0x20/0x4c [stmmac])
[<bf000728>] (stmmac_multicast_list+0x0/0x4c [stmmac]) from
[<c041ba54>] (__dev_set_rx_mode+0x6c/0xa0)
r6:00000000 r5:bf00dfe0 r4:c384c000 r3:bf000728
[<c041b9e8>] (__dev_set_rx_mode+0x0/0xa0) from [<c04262d8>]
(__dev_mc_add+0x50/0x64)
r6:00000000 r5:c384c12c r4:c384c000 r3:00000004
[<c0426288>] (__dev_mc_add+0x0/0x64) from [<c0426318>]
(dev_mc_add+0x14/0x18)
r7:c3b7ddcc r6:c381d000 r5:00000001 r4:c3b90600
[<c0426304>] (dev_mc_add+0x0/0x18) from [<c0384470>]
(enable_status_frames+0x8c/0xc8)
[<c03843e4>] (enable_status_frames+0x0/0xc8) from [<c03848cc>]
(dp83640_hwtstamp+0x170/0x290)
r5:c3b7de88 r4:c3b90600
[<c038475c>] (dp83640_hwtstamp+0x0/0x290) from [<c0382090>]
(phy_mii_ioctl+0x94/0x1ac)
[<c0381ffc>] (phy_mii_ioctl+0x0/0x1ac) from [<bf000710>]
(stmmac_ioctl+0x60/0x78 [stmmac])
r6:c3b7de88 r5:c384c588 r4:c384c000 r3:00000001
[<bf0006b0>] (stmmac_ioctl+0x0/0x78 [stmmac]) from
[<c0420fcc>] (dev_ifsioc+0x288/0x3d0)
r5:000089b0 r4:c384c000
[<c0420d44>] (dev_ifsioc+0x0/0x3d0) from [<c042166c>]
(dev_ioctl+0x558/0x930)
r6:c3b7de88 r5:c06bd9a0 r4:000089b0 r3:c38c3840
[<c0421114>] (dev_ioctl+0x0/0x930) from [<c040a36c>]
(sock_ioctl+0x9c/0x270)
[<c040a2d0>] (sock_ioctl+0x0/0x270) from [<c00dc9ac>]
(do_vfs_ioctl+0x8c/0x5d8)
r6:0000fdfd r5:c3abb140 r4:bec5ba94 r3:c040a2d0
[<c00dc920>] (do_vfs_ioctl+0x0/0x5d8) from [<c00dcf38>]
(sys_ioctl+0x40/0x68)
[<c00dcef8>] (sys_ioctl+0x0/0x68) from [<c003db80>]
(ret_fast_syscall+0x0/0x30)
r7:00000036 r6:0000000b r5:000089b0 r4:bec5ba94
sending IPI to all other CPUs:
thanks