Re: [Linuxptp-users] Issues with linuxptp and Intel 82574
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Fabrizio G. <Fab...@ri...> - 2013-10-24 05:38:22
|
Just a heads-up: it was the kernel. I tried the version 2.6.32-422 available in RHEL v.6 beta and everything works as expected. They backported all the necessary code to support 82574L in the e1000e driver. Thanks everyone Fabrizio -----Original Message----- From: Keller, Jacob E [mailto:jac...@in...] Sent: Monday, October 21, 2013 16:44 To: Fabrizio Giordano; Richard Cochran Cc: lin...@li... Subject: RE: [Linuxptp-users] Issues with linuxptp and Intel 82574 When the LinuxPTP project was started, ptpd did not support hardware timestamping. Richard Cochran made an interface in the kernel to enable generic access to hardware timestamping features, but ptpd did not want to implement this feature. I believe ptpd may have at some point added some support for the kernel module, but I don't know for sure. As far as I know when I last checked, ptpd only does software timestamping. I am unsure why software timestamping fails to work for you in linuxptp. Richard may be able to answer in more detail about the differences between ptpd and ptp4l. Regards, Jake > -----Original Message----- > From: Fabrizio Giordano [mailto:Fab...@ri...] > Sent: Monday, October 21, 2013 4:12 PM > To: Keller, Jacob E; Richard Cochran > Cc: lin...@li... > Subject: RE: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > So I seem to understand there's currently nothing to do with Intel > 82574 and with the kernel I have (both with SW and HW timestamping). > I have a final questions (I hope this is the right place for this question): > what are the pros and cons of using ptpd instead? How is linuxptp > better than ptpd? > I tried to quickly install it on the box with the 82574 and it worked > right away! Is ptpd hardware assisted or is it just SW timestamping? > > Thank you very much to all! > > Fabrizio > > -----Original Message----- > From: Keller, Jacob E [mailto:jac...@in...] > Sent: Monday, October 21, 2013 15:23 > To: Fabrizio Giordano; Richard Cochran > Cc: lin...@li... > Subject: RE: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > The only guess I have for this is that your Scientific Linux kernel > did not properly backport PTP support, which is why force enabling it > causes a panic. > > Regards, > Jake > > > -----Original Message----- > > From: Fabrizio Giordano [mailto:Fab...@ri...] > > Sent: Monday, October 21, 2013 2:49 PM > > To: Keller, Jacob E; Richard Cochran > > Cc: lin...@li... > > Subject: RE: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > > > Hello Jake, > > > > I had already tried that earlier but I figured that that check > > (kernel > > >= 3) was necessary since when I rebooted the machine with the > e1000e > > driver I got a kernel panic (I didn't spend too much time debugging it). > > Here's the output I got: > > > > > > e1000e: Intel(R) PRO/1000 Network Driver - 2.5.4-NAPI > > e1000e: Copyright(c) 1999 - 2013 Intel Corporation. > > e1000e 0000:03:00.0: Disabling ASPM L0s L1 e1000e 0000:03:00.0: > PCI > > INT A -> GSI 16 (level, low) -> IRQ 16 e1000e 0000:03:00.0: > > Interrupt Throttling Rate (ints/sec) set to dynamic conservative > > mode > > bio: create slab <bio-1> at 1 > > md/raid0:md0: md_size is 62499647488 sectors. > > md: RAID0 configuration for md0 - 1 zone > > BUG: unable to handle kernel NULL pointer dereference at > > 00000000000002ce > > IP: [<ffffffff812788bc>] kref_get+0xc/0x30 PGD 339612067 PUD > 339f03067 > > PMD 0 > > Oops: 0000 [#1] PREEMPT SMP > > last sysfs file: /sys/module/raid0/initstate CPU 8 Modules linked in: > > e1000e(+)(U) ptp pps_core ioatdma dca i7core_edac edac_core sg > ext4 > > jbd2 mbcache raid0 sr_mod cdrom sd_mod crc_t10dif ahci 3w_9xxx > dm_mod > > [last unloaded: scsi_wait_scan] > > > > Pid: 1016, comm: modprobe Not tainted 2.6.32- > > 358.18.1.el6.rvbd.1.x86_64 #1 Supermicro X8DT6/X8DT6 > > RIP: 0010:[<ffffffff812788bc>] [<ffffffff812788bc>] > > kref_get+0xc/0x30 > > RSP: 0018:ffff88063893d9d8 EFLAGS: 00010296 > > RAX: 0000000000000000 RBX: 00000000000002ce RCX: > > 0000000000000030 > > RDX: 0000000000000000 RSI: ffff88033828d9e0 RDI: > > 00000000000002ce > > RBP: ffff88063893d9e8 R08: 0000000000000000 R09: > 00000000fffffffe > > R10: 0000000000000000 R11: 0000000000000000 R12: > > 000000000f600000 > > R13: 0000000000000286 R14: 00000000ffffffea R15: > ffff88033af60c00 > > FS: 00007f94ea831700(0000) GS:ffff880028280000(0000) > > knlGS:0000000000000000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > > CR2: 00000000000002ce CR3: 0000000339617000 CR4: > > 00000000000007e0 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: > > 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: > > 0000000000000400 > > Process modprobe (pid: 1016, threadinfo ffff88063893c000, task > > ffff88063799e040) > > Stack: > > 0000000000000003 0000000000000296 ffff88063893da08 > ffffffff8127754a > > <d> 0000000200000010 ffff88033af60c00 ffff88063893da18 > > ffffffff8134f6b9 > > <d> ffff88063893da98 ffffffff81350c6b ffff88033828d9e0 > > 0000000000000005 > > Call Trace: > > [<ffffffff8127754a>] kobject_get+0x1a/0x30 [<ffffffff8134f6b9>] > > get_device+0x19/0x20 [<ffffffff81350c6b>] device_add+0x8b/0x650 > > [<ffffffff81359fbb>] ? pm_runtime_init+0xcb/0xe0 > [<ffffffff8135124e>] > > device_register+0x1e/0x30 [<ffffffff81351348>] > > device_create_vargs+0xe8/0x110 [<ffffffff813513a1>] > > device_create+0x31/0x40 [<ffffffffa0043614>] > > ptp_clock_register+0x224/0x360 [ptp] [<ffffffff81076b68>] ? > > add_timer+0x18/0x30 [<ffffffff81085569>] ? > > queue_delayed_work_on+0xb9/0x120 [<ffffffffa016acff>] > > e1000e_ptp_init+0x10f/0x210 [e1000e] [<ffffffffa016bf3e>] > > e1000_probe+0xbe6/0xf66 [e1000e] [<ffffffff811965d0>] ? > > iput+0x30/0x70 [<ffffffff811f6570>] ? sysfs_addrm_finish+0x50/0x280 > > [<ffffffff811f6e2e>] ? __sysfs_add_one+0x7e/0xc0 > [<ffffffff81297977>] > > local_pci_probe+0x17/0x20 [<ffffffff81298b71>] > > pci_device_probe+0x101/0x120 [<ffffffff81353c82>] ? > > driver_sysfs_add+0x62/0x90 [<ffffffff81353e20>] > > driver_probe_device+0xa0/0x2a0 [<ffffffff813540cb>] > > __driver_attach+0xab/0xb0 [<ffffffff81354020>] ? > > __driver_attach+0x0/0xb0 [<ffffffff813533d4>] > > bus_for_each_dev+0x64/0x90 [<ffffffff81353bbe>] > > driver_attach+0x1e/0x20 [<ffffffff81352c08>] > > bus_add_driver+0x1e8/0x2b0 [<ffffffff81354416>] > > driver_register+0x76/0x140 [<ffffffff81506b2a>] ? printk+0x41/0x47 > > [<ffffffff81298dd6>] __pci_register_driver+0x56/0xd0 > > [<ffffffffa00e8000>] ? e1000_init_module+0x0/0x43 [e1000e] > > [<ffffffffa00e8041>] e1000_init_module+0x41/0x43 [e1000e] > > [<ffffffff810001ec>] do_one_initcall+0x3c/0x1d0 > > [<ffffffff810ac051>] > > sys_init_module+0xe1/0x250 [<ffffffff810030b2>] > > system_call_fastpath+0x16/0x1b > > Code: 7c 81 e8 88 9f de ff eb cb be 40 00 00 00 48 c7 c7 3f 2b 7c 81 > > e8 > > 75 9f de ff eb b8 0f 1f 00 55 48 89 e5 53 48 89 fb 48 83 ec 08 <8b> > > 07 > > 85 c0 74 0a f0 ff 03 48 83 c4 08 5b c9 c3 be 2b 00 00 00 RIP > > [<ffffffff812788bc>] kref_get+0xc/0x30 RSP <ffff88063893d9d8> > > CR2: 00000000000002ce > > ---[ end trace 4ad683c7806b9327 ]--- Kernel panic - not syncing: > > Fatal exception > > Pid: 1016, comm: modprobe Tainted: G D --------------- 2.6.32- > > 358.18.1.el6.rvbd.1.x86_64 #1 > > Call Trace: > > [<ffffffff81506a21>] ? panic+0xa7/0x16f [<ffffffff8150b254>] ? > > oops_end+0xe4/0x100 [<ffffffff8103a98b>] ? no_context+0xfb/0x260 > > [<ffffffff8103ac15>] ? __bad_area_nosemaphore+0x125/0x1e0 > > [<ffffffff8103ad3e>] ? bad_area+0x4e/0x60 [<ffffffff8103b1ae>] ? > > __do_page_fault+0x26e/0x500 [<ffffffff8150cace>] ? > > do_page_fault+0x3e/0xd0 [<ffffffff8150a535>] ? > page_fault+0x25/0x30 > > [<ffffffff812788bc>] ? kref_get+0xc/0x30 [<ffffffff8127754a>] ? > > kobject_get+0x1a/0x30 [<ffffffff8134f6b9>] ? get_device+0x19/0x20 > > [<ffffffff81350c6b>] ? device_add+0x8b/0x650 [<ffffffff81359fbb>] ? > > pm_runtime_init+0xcb/0xe0 [<ffffffff8135124e>] ? > > device_register+0x1e/0x30 [<ffffffff81351348>] ? > > device_create_vargs+0xe8/0x110 [<ffffffff813513a1>] ? > > device_create+0x31/0x40 [<ffffffffa0043614>] ? > > ptp_clock_register+0x224/0x360 [ptp] [<ffffffff81076b68>] ? > > add_timer+0x18/0x30 [<ffffffff81085569>] ? > > queue_delayed_work_on+0xb9/0x120 [<ffffffffa016acff>] ? > > e1000e_ptp_init+0x10f/0x210 [e1000e] [<ffffffffa016bf3e>] ? > > e1000_probe+0xbe6/0xf66 [e1000e] [<ffffffff811965d0>] ? > > iput+0x30/0x70 [<ffffffff811f6570>] ? sysfs_addrm_finish+0x50/0x280 > > [<ffffffff811f6e2e>] ? __sysfs_add_one+0x7e/0xc0 > [<ffffffff81297977>] > > ? local_pci_probe+0x17/0x20 [<ffffffff81298b71>] ? > > pci_device_probe+0x101/0x120 [<ffffffff81353c82>] ? > > driver_sysfs_add+0x62/0x90 [<ffffffff81353e20>] ? > > driver_probe_device+0xa0/0x2a0 [<ffffffff813540cb>] ? > > __driver_attach+0xab/0xb0 [<ffffffff81354020>] ? > > __driver_attach+0x0/0xb0 [<ffffffff813533d4>] ? > > bus_for_each_dev+0x64/0x90 [<ffffffff81353bbe>] ? > > driver_attach+0x1e/0x20 [<ffffffff81352c08>] ? > > bus_add_driver+0x1e8/0x2b0 [<ffffffff81354416>] ? > > driver_register+0x76/0x140 [<ffffffff81506b2a>] ? printk+0x41/0x47 > > [<ffffffff81298dd6>] ? __pci_register_driver+0x56/0xd0 > > [<ffffffffa00e8000>] ? e1000_init_module+0x0/0x43 [e1000e] > > [<ffffffffa00e8041>] ? e1000_init_module+0x41/0x43 [e1000e] > > [<ffffffff810001ec>] ? do_one_initcall+0x3c/0x1d0 > > [<ffffffff810ac051>] ? sys_init_module+0xe1/0x250 > > [<ffffffff810030b2>] ? system_call_fastpath+0x16/0x1b > > > > > > -----Original Message----- > > From: Keller, Jacob E [mailto:jac...@in...] > > Sent: Monday, October 21, 2013 14:13 > > To: Fabrizio Giordano; Richard Cochran > > Cc: lin...@li... > > Subject: RE: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > > > Hi Fabrizio, > > > > The sourceforge driver for e1000e has a hard check for kernel version. > > Since you have a specialized kernel version that has backported PTP > > support, you might try modifying the kcompat.h of the sourceforge > > driver, and removing the kernel check. > > > > Basically, the kernel compat layer is blocking proper enablement of > > the PTP core because it assumes your kernel can't have support. You > > won't be able to get correct support without the flag properly enabling. > > > > Regards, > > Jake > > > > > -----Original Message----- > > > From: Fabrizio Giordano [mailto:Fab...@ri...] > > > Sent: Monday, October 21, 2013 11:07 AM > > > To: Richard Cochran > > > Cc: lin...@li... > > > Subject: Re: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > > > > > It's basically the standard scientific linux 6.4 kernel. > > > > > > uname -a > > > Linux dorothy8.lab.nbttech.com 2.6.32-358.18.1.el6.x86_64 #1 SMP > > > PREEMPT Wed Sep 4 16:09:45 EDT 2013 x86_64 x86_64 x86_64 > > GNU/Linux > > > > > > -----Original Message----- > > > From: Richard Cochran [mailto:ric...@gm...] > > > Sent: Monday, October 21, 2013 10:49 > > > To: Fabrizio Giordano > > > Cc: Vick, Matthew; Ledda William EXT; linuxptp- > > > us...@li... > > > Subject: Re: [Linuxptp-users] Issues with linuxptp and Intel 82574 > > > > > > On Mon, Oct 21, 2013 at 05:32:54PM +0000, Fabrizio Giordano > wrote: > > > > No that's what I find odd... > > > > On another machine I have the exact same kernel but I installed > > > > an Intel > > > 82576. > > > > Here's what ethtool -T returns: > > > > > > > > ethtool -T eth0 > > > > Time stamping parameters for eth0: > > > > Capabilities: > > > > hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE) > > > > hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE) > > > > hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE) > > > > PTP Hardware Clock: 0 > > > > > > Okay, so what do you get from `uname -a`? > > > > > > > And it actually works with HW timestamps. If it works with > > > > another NIC > > > and the same kernel I expect that with the proper driver it should > > > work also with a 82574. > > > > Or am I wrong? > > > > > > Tell us more about your kernel. Where did you get it from? > > > Is the source available somewhere to look at? > > > > > > Thanks, > > > Richard > > > > > > ------------------------------------------------------------------ > > > -- > > > -- > > > -------- October Webinars: Code for Performance Free Intel > > > webinars can help you accelerate application performance. > > > Explore tips for MPI, OpenMP, advanced profiling, and more. Get > > > the most from the latest Intel processors and coprocessors. See > > > abstracts and register > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ost > > > g.clktrk > > > _______________________________________________ > > > Linuxptp-users mailing list > > > Lin...@li... > > > https://lists.sourceforge.net/lists/listinfo/linuxptp-users |