Hi,
On Mon, 2015-05-11 at 10:49 +0800, kendo wrote:
> In the e1000e_cyclecounter_read function, if incvalue is 0, causes a divide
> error.Need to add a check?
>
>
> incvalue = er32(TIMINCA) & E1000_TIMINCA_INCVALUE_MASK;
> //2015-05-11.fix by kendo
> if(incvalue){
> for (i = 0; i < E1000_MAX_82574_SYSTIM_REREADS; i++) {
> /* latch SYSTIMH on read of SYSTIML */
> systim_next = (cycle_t)er32(SYSTIML);
> systim_next |= (cycle_t)er32(SYSTIMH) << 32;
>
>
> time_delta = systim_next - systim;
> temp = time_delta;
>
>
> rem = do_div(temp, incvalue);
>
>
> systim = systim_next;
>
>
> if ((time_delta < E1000_82574_SYSTIM_EPSILON)
> &&
> (rem == 0))
> break;
> }
> }
>
I am curious how you ever got a zero inc-value.. that shouldn't ever be
set by us to zero. Obviously per below we do have it set to 0 somehow..
Regards,
Jake
>
> [ 7.317997] e1000e: Intel(R) PRO/1000 Network Driver - 3.1.0.2-NAPI
> [ 7.317998] e1000e: Copyright(c) 1999 - 2014 Intel Corporation.
> [ 7.318019] e1000e 0000:0b:00.0: Disabling ASPM L0s L1
> [ 7.318078] e1000e 0000:0b:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
> [ 7.318139] e1000e 0000:0b:00.0: setting latency timer to 64
> [ 7.318514] e1000e 0000:0b:00.0: Interrupt Throttling Rate (ints/sec) set
> to dynamic conservative mode
> [ 7.318925] e1000e 0000:0b:00.0: irq 72 for MSI/MSI-X
> [ 7.318960] e1000e 0000:0b:00.0: irq 73 for MSI/MSI-X
> [ 7.318992] e1000e 0000:0b:00.0: irq 74 for MSI/MSI-X
> [ 7.443778] divide error: 0000 [#1] SMP
> [ 7.446797] CPU 1
> [ 7.447938] Modules linked in: e1000e(O+) r8169(O) r8168(O) r8101(O)
> [ 7.451903]
> [ 7.452731] Pid: 115, comm: modprobe Tainted: G O 3.2.28 #1159
> VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
> [ 7.459539] RIP: 0010:[<ffffffffa006a4b6>] [<ffffffffa006a4b6>]
> e1000e_cyclecounter_read+0xe6/0x100 [e1000e]
> [ 7.464911] RSP: 0018:ffff88001de5dc18 EFLAGS: 00010246
> [ 7.467793] RAX: 0000000000000000 RBX: ffff88001df97528 RCX:
> 0000000000000000
> [ 7.471605] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
> 0000000000000032
> [ 7.475386] RBP: ffff88001de5dc28 R08: 0000000000000000 R09:
> 00000007ffffffff
> [ 7.479164] R10: 0000000000000000 R11: 0000000000000000 R12:
> 0000000000000000
> [ 7.482481] R13: ffff88001df94b10 R14: 0000000001a00000 R15:
> 0000000000000000
> [ 7.485792] FS: 000000000237c8a0(0063) GS:ffff88001fd00000(0000)
> knlGS:0000000000000000
> [ 7.489448] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [ 7.492144] CR2: 00007f87700c200f CR3: 000000001deeb000 CR4:
> 00000000000006e0
> [ 7.495437] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [ 7.498774] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> 0000000000000400
> [ 7.502052] Process modprobe (pid: 115, threadinfo ffff88001de5c000, task
> ffff88001e160000)
> [ 7.506290] Stack:
> [ 7.507231] ffff88001df97540 13dd22929d79ceb8 ffff88001de5dc48
> ffffffff8107fc8e
> [ 7.510072] ffff88001df94600 ffff88001df94b10 ffff88001de5dc88
> ffffffffa0070775
> [ 7.512272] ffff88001de5dc88 ffff88001df94600 ffff88001df94b10
> 0000000000008000
> [ 7.514431] Call Trace:
> [ 7.515137] [<ffffffff8107fc8e>] timecounter_init+0x1e/0x30
> [ 7.516749] [<ffffffffa0070775>] e1000e_config_hwtstamp+0x1b5/0x430
> [e1000e]
> [ 7.518709] [<ffffffffa0074375>] e1000e_reset+0x235/0x7a0 [e1000e]
> [ 7.520435] [<ffffffffa008d6b6>] e1000_probe+0xa4a/0xc7a [e1000e]
> [ 7.522148] [<ffffffff812f8415>] pci_device_probe+0x75/0xa0
> [ 7.523708] [<ffffffff813d282a>] ? driver_sysfs_add+0x7a/0xb0
> [ 7.525482] [<ffffffff813d2a43>] driver_probe_device+0x73/0x190
> [ 7.527096] [<ffffffff813d2bfb>] __driver_attach+0x9b/0xa0
> [ 7.528654] [<ffffffff813d2b60>] ? driver_probe_device+0x190/0x190
> [ 7.530571] [<ffffffff813d2b60>] ? driver_probe_device+0x190/0x190
> [ 7.532288] [<ffffffff813d1ab4>] bus_for_each_dev+0x54/0x90
> [ 7.533875] [<ffffffff813d2719>] driver_attach+0x19/0x20
> [ 7.535322] [<ffffffff813d23b0>] bus_add_driver+0x1a0/0x270
> [ 7.536876] [<ffffffffa009b000>] ? 0xffffffffa009afff
> [ 7.538292] [<ffffffff813d2f01>] driver_register+0x71/0x140
> [ 7.540383] [<ffffffff8180769a>] ? printk+0x3c/0x3e
> [ 7.542099] [<ffffffffa009b000>] ? 0xffffffffa009afff
> [ 7.543523] [<ffffffff812f81a0>] __pci_register_driver+0x50/0xd0
> [ 7.545925] [<ffffffffa009b041>] e1000_init_module+0x41/0x43 [e1000e]
> [ 7.548484] [<ffffffff810001cd>] do_one_initcall+0x3d/0x170
> [ 7.550440] [<ffffffff810900dc>] sys_init_module+0x8c/0x200
> [ 7.552130] [<ffffffff81816cbb>] system_call_fastpath+0x16/0x1b
> [ 7.553789] Code: ff 8b 80 00 b6 00 00 89 c0 48 8b 93 f0 d5 ff ff 8b 8a 04
> b6 00 00 48 c1 e1 20 31 d2 48 09 c1 48 89 ce 4c 29 e6 49 89 cc 48 89 f0 <49>
> f7 f0 48 85 d2 75 c2 4c 39 ce 77 bd eb 81 66 66 2e 0f 1f 84
> [ 7.561457] RIP [<ffffffffa006a4b6>] e1000e_cyclecounter_read+0xe6/0x100
> [e1000e]
> [ 7.563645] RSP <ffff88001de5dc18>
> [ 7.564652] ---[ end trace 2928cfb3f2cf8a22 ]---
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications Performance
> metrics, stats and reports that give you Actionable Insights Deep dive
> visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> E1000-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/e1000-devel
> To learn more about Intel® Ethernet, visit
> http://communities.intel.com/community/wired
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired