Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1243619 > unrolled thread

e1000e: hard system lockup on Linux 4.2

Started by"Jason A. Donenfeld" <Jason@zx2c4.com>
First post2015-10-09 21:30 +0200
Last post2015-10-18 02:40 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  e1000e: hard system lockup on Linux 4.2 "Jason A. Donenfeld" <Jason@zx2c4.com> - 2015-10-09 21:30 +0200
    Re: e1000e: hard system lockup on Linux 4.2 "Jason A. Donenfeld" <Jason@zx2c4.com> - 2015-10-10 18:50 +0200
    RE: e1000e: hard system lockup on Linux 4.2 "Avargil, Raanan" <raanan.avargil@intel.com> - 2015-10-12 09:00 +0200
      Re: e1000e: hard system lockup on Linux 4.2 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-10-18 02:40 +0200

#1243619 — e1000e: hard system lockup on Linux 4.2

From"Jason A. Donenfeld" <Jason@zx2c4.com>
Date2015-10-09 21:30 +0200
Subjecte1000e: hard system lockup on Linux 4.2
Message-ID<qhLwB-31r-9@gated-at.bofh.it>
Hi Jeffrey & Raanan & Yanirx,

I have a Thinkpad W530 with a 82579LM inside of it, which uses the
e1000e driver. Every few hours, my system does a hard lockup, and I am
unable to do anything at all with it except power it off. There isn't
a panic or oops, as nothing is written to /sys/fs/pstore after. But, I
did enable the lockup detection debug option, and was able to gain a
few stack traces. And all of the time, the culprit is the e1000e
driver.

The funny thing is that I'm not actually using the Ethernet card --
nothing is plugged into the jack, as I'm mostly on wifi these days.
Nevertheless, it receives power from my laptop and thus the driver is
partaking in some form of communication with it.

The stack traces follow below. You'll notice that some time after the
initial e1000e lockup, the there's a soft lockup in the bpf paths. I
believe this is due to the fact that at the time of the hard lockup in
e1000e, I was trying to open a new Chrome tab process, which makes use
of seccomp-bpf. I do not believe the bug is in the bpf code, however.

Briefly looking at the stack trace myself shows quite a bit of
activity in `e1000e_cyclecounter_read`. Running `git log
drivers/net/ethernet/intel/e1000e` indicates a recent change from
Raanan -- 37b12910dd11d9ab969f2c310dc9160b7f3e3405 -- "e1000e: Fix
tight loop implementation of systime read algorithm". In this change,
a loop is entirely removed.

Investigating the origin of that loop reveals this commit from Yanirx
-- 83129b37ef35bb6a7f01c060129736a8db5d31c4. This commit appears to be
present in 4.2, but not in 4.1. This leads me to think it may be the
cause of the bug, with the aforementioned
37b12910dd11d9ab969f2c310dc9160b7f3e3405 being the fix for it.

I would therefore recommend that -- if this analysis is correct --
37b12910dd11d9ab969f2c310dc9160b7f3e3405 be backported to the 4.2
stable releases (thus, CCing Greg).

If my very brief and preliminary investigation is not correct, please
let me know if there is any additional information or debugging steps
I can apply, so that we can fix this regression.

In the meantime while I wait to hear back, I'll try backporting that
commit to 4.2 myself, and seeing the stability of my laptop over the
next 24 hours.

Thanks,
Jason

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

[14469.274866] ------------[ cut here ]------------
[14469.274874] WARNING: CPU: 1 PID: 12032 at kernel/watchdog.c:311
watchdog_overflow_callback+0x74/0xa0()
[14469.274875] Watchdog detected hard LOCKUP on cpu 1
[14469.274877] Modules linked in:
[14469.274878]  bnep hid_generic usbhid cdc_acm af_packet pl2303
usbserial btusb btbcm btintel bluetooth uvcvideo videobuf2_vmalloc
videobuf2_memops videobuf2_core v4l2_common videodev ip6table_filter
iptable_filter ip6_tables ip_tables x_tables mmc_block
snd_hda_codec_realtek snd_hda_codec_generic iwldvm coretemp
x86_pkg_temp_thermal intel_powerclamp mac80211 kvm_intel snd_hda_intel
sdhci_pci snd_hda_codec kvm iwlwifi snd_hwdep snd_hda_core joydev
xhci_pci ehci_pci sdhci xhci_hcd ehci_hcd snd_pcm mousedev microcode
cfg80211 mmc_core usbcore snd_timer usb_common thinkpad_acpi thermal
snd soundcore hwmon rfkill ac battery evdev processor ipv6
[14469.274912] CPU: 1 PID: 12032 Comm: kworker/1:0 Not tainted 4.2.3-gentoo #3
[14469.274913] Hardware name: LENOVO 2436CTO/2436CTO, BIOS G5ETA2WW
(2.62 ) 03/31/2015
[14469.274918] Workqueue: events e1000e_systim_overflow_work
[14469.274920]  0000000000000000 ffffffff81a0eb69 ffffffff81683f33
ffff88081e245ba0
[14469.274922]  ffffffff810ce4b8 ffff8807fa6f0000 0000000000000000
ffff88081e245c80
[14469.274924]  ffff88081e245ef8 0000000000000000 ffffffff810ce535
ffffffff81a0a3f8
[14469.274926] Call Trace:
[14469.274928]  <NMI>  [<ffffffff81683f33>] ? dump_stack+0x40/0x50
[14469.274935]  [<ffffffff810ce4b8>] ? warn_slowpath_common+0x78/0xb0
[14469.274937]  [<ffffffff810ce535>] ? warn_slowpath_fmt+0x45/0x50
[14469.274939]  [<ffffffff811428a4>] ? watchdog_overflow_callback+0x74/0xa0
[14469.274941]  [<ffffffff8116ac36>] ? __perf_event_overflow+0x86/0x1c0
[14469.274944]  [<ffffffff8101cdd9>] ? intel_pmu_handle_irq+0x1c9/0x3f0
[14469.274948]  [<ffffffff81015145>] ? perf_event_nmi_handler+0x25/0x40
[14469.274951]  [<ffffffff8100695c>] ? nmi_handle+0x7c/0x100
[14469.274952]  [<ffffffff81006bbd>] ? do_nmi+0x1dd/0x360
[14469.274956]  [<ffffffff8168b097>] ? end_repeat_nmi+0x1a/0x1e
[14469.274958]  [<ffffffff81559bcd>] ? e1000e_cyclecounter_read+0xd/0xb0
[14469.274960]  [<ffffffff81559bcd>] ? e1000e_cyclecounter_read+0xd/0xb0
[14469.274962]  [<ffffffff81559bcd>] ? e1000e_cyclecounter_read+0xd/0xb0
[14469.274963]  <<EOE>>  [<ffffffff8112485c>] ? timecounter_read+0xc/0x50
[14469.274968]  [<ffffffff815652c8>] ? e1000e_phc_gettime+0x28/0x60
[14469.274971]  [<ffffffff81565438>] ? e1000e_systim_overflow_work+0x18/0x40
[14469.274974]  [<ffffffff810e3040>] ? process_one_work+0x140/0x3f0
[14469.274976]  [<ffffffff810e3332>] ? worker_thread+0x42/0x490
[14469.274978]  [<ffffffff810e32f0>] ? process_one_work+0x3f0/0x3f0
[14469.274980]  [<ffffffff810e873c>] ? kthread+0xbc/0xe0
[14469.274983]  [<ffffffff810e8680>] ? kthread_worker_fn+0x160/0x160
[14469.274985]  [<ffffffff8168969f>] ? ret_from_fork+0x3f/0x70
[14469.274987]  [<ffffffff810e8680>] ? kthread_worker_fn+0x160/0x160
[14469.274988] ---[ end trace 99827f3383cad419 ]---
[14491.475971] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 23s!
[chrome:13388]
[14491.475973] Modules linked in: bnep hid_generic usbhid cdc_acm
af_packet pl2303 usbserial btusb btbcm btintel bluetooth uvcvideo
videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
ip6table_filter iptable_filter ip6_tables ip_tables x_tables mmc_block
snd_hda_codec_realtek snd_hda_codec_generic iwldvm coretemp
x86_pkg_temp_thermal intel_powerclamp mac80211 kvm_intel snd_hda_intel
sdhci_pci snd_hda_codec kvm iwlwifi snd_hwdep snd_hda_core joydev
xhci_pci ehci_pci sdhci xhci_hcd ehci_hcd snd_pcm mousedev microcode
cfg80211 mmc_core usbcore snd_timer usb_common thinkpad_acpi thermal
snd soundcore hwmon rfkill ac battery evdev processor ipv6
[14491.476006] CPU: 0 PID: 13388 Comm: chrome Tainted: G        W
 4.2.3-gentoo #3
[14491.476007] Hardware name: LENOVO 2436CTO/2436CTO, BIOS G5ETA2WW
(2.62 ) 03/31/2015
[14491.476008] task: ffff8807a2550000 ti: ffff8806e163c000 task.ti:
ffff8806e163c000
[14491.476010] RIP: 0010:[<ffffffff8112d913>]  [<ffffffff8112d913>]
smp_call_function_many+0x1e3/0x240
[14491.476015] RSP: 0018:ffff8806e163fb88  EFLAGS: 00000202
[14491.476016] RAX: 0000000000000003 RBX: 0000000000000000 RCX: 0000000000000001
[14491.476018] RDX: ffff88081e258210 RSI: 0000000000000008 RDI: ffff88081e215908
[14491.476019] RBP: ffff88081e215900 R08: 0000000000000000 R09: 00000000000000fe
[14491.476020] R10: 0000000000000002 R11: 0000000000000fb0 R12: 0000000000000100
[14491.476021] R13: 0000000000000000 R14: ffff88081e5db808 R15: 0000000000000040
[14491.476022] FS:  00007f5b393ce900(0000) GS:ffff88081e200000(0000)
knlGS:0000000000000000
[14491.476023] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[14491.476024] CR2: 00000a1e2b91b008 CR3: 0000000742caf000 CR4: 00000000001406f0
[14491.476025] Stack:
[14491.476026]  00000000000158c0 0000000100000100 ffff88081e3d04a0
ffffffff81040d60
[14491.476028]  0000000000000000 ffff8806e163fc58 ffff88081e3d0478
ffff8806e163fcc8
[14491.476030]  ffff8806e163fc18 ffffffff8112d9c3 ffff8806e163fcc0
ffff88081e3d04a0
[14491.476032] Call Trace:
[14491.476036]  [<ffffffff81040d60>] ? flush_tlb_func+0x140/0x140
[14491.476038]  [<ffffffff8112d9c3>] ? on_each_cpu+0x23/0x40
[14491.476039]  [<ffffffff810410f3>] ? flush_tlb_kernel_range+0x33/0x60
[14491.476042]  [<ffffffff811a7c8d>] ? __purge_vmap_area_lazy+0xcd/0x350
[14491.476044]  [<ffffffff811a7eab>] ? __purge_vmap_area_lazy+0x2eb/0x350
[14491.476045]  [<ffffffff811a8029>] ? vm_unmap_aliases+0x119/0x130
[14491.476048]  [<ffffffffa0191000>] ? 0xffffffffa0191000
[14491.476051]  [<ffffffff8103d48e>] ? change_page_attr_set_clr+0xbe/0x420
[14491.476053]  [<ffffffff8103e288>] ? set_memory_ro+0x28/0x30
[14491.476056]  [<ffffffff810cb1b4>] ? bpf_int_jit_compile+0x174/0x220
[14491.476060]  [<ffffffff81160f61>] ? bpf_prog_select_runtime+0x11/0x90
[14491.476063]  [<ffffffff816037d4>] ? bpf_prepare_filter+0x344/0x360
[14491.476066]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14491.476067]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14491.476069]  [<ffffffff81603b68>] ? bpf_prog_create_from_user+0x68/0xa0
[14491.476071]  [<ffffffff81142fa8>] ? do_seccomp+0xd8/0x5f0
[14491.476073]  [<ffffffff810df092>] ? SyS_prctl+0x22/0x3b0
[14491.476076]  [<ffffffff816892d7>] ? entry_SYSCALL_64_fastpath+0x12/0x6a
[14491.476077] Code: 95 22 00 3b 05 a3 a2 b9 00 89 c1 0f 8d 9e fe ff
ff 48 98 48 8b 55 00 48 03 14 c5 e0 63 cc 81 8b 42 18 a8 01 74 ca f3
90 8b 42 18 <a8> 01 75 f7 eb bf 48 8b 15 a8 fa 6d 00 4c 89 e6 89 ef e8
26 6b
[14495.480698] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 22s!
[chrome:13391]
[14495.480701] Modules linked in: bnep hid_generic usbhid cdc_acm
af_packet pl2303 usbserial btusb btbcm btintel bluetooth uvcvideo
videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
ip6table_filter iptable_filter ip6_tables ip_tables x_tables mmc_block
snd_hda_codec_realtek snd_hda_codec_generic iwldvm coretemp
x86_pkg_temp_thermal intel_powerclamp mac80211 kvm_intel snd_hda_intel
sdhci_pci snd_hda_codec kvm iwlwifi snd_hwdep snd_hda_core joydev
xhci_pci ehci_pci sdhci xhci_hcd ehci_hcd snd_pcm mousedev microcode
cfg80211 mmc_core usbcore snd_timer usb_common thinkpad_acpi thermal
snd soundcore hwmon rfkill ac battery evdev processor ipv6
[14495.480728] CPU: 4 PID: 13391 Comm: chrome Tainted: G        W    L
 4.2.3-gentoo #3
[14495.480729] Hardware name: LENOVO 2436CTO/2436CTO, BIOS G5ETA2WW
(2.62 ) 03/31/2015
[14495.480730] task: ffff8807a2553100 ti: ffff88079503c000 task.ti:
ffff88079503c000
[14495.480731] RIP: 0010:[<ffffffff81106008>]  [<ffffffff81106008>]
queued_spin_lock_slowpath+0x158/0x170
[14495.480736] RSP: 0018:ffff88079503fc20  EFLAGS: 00000202
[14495.480737] RAX: 0000000000100101 RBX: ffff88081e5db800 RCX: 0000000000000001
[14495.480737] RDX: 0000000000000101 RSI: 0000000000000001 RDI: ffffffff81e684b8
[14495.480738] RBP: ffff88081e3d04a8 R08: 0000000000000101 R09: 00000000000000ff
[14495.480739] R10: 0000000000000002 R11: 0000000000000fb0 R12: 0000000000000100
[14495.480740] R13: 0000000000000000 R14: ffffffff81179d04 R15: ffff8807a2553100
[14495.480741] FS:  00007f5b393ce900(0000) GS:ffff88081e300000(0000)
knlGS:0000000000000000
[14495.480741] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[14495.480742] CR2: 00000a1e2b91b008 CR3: 00000007424af000 CR4: 00000000001406e0
[14495.480743] Stack:
[14495.480743]  ffffffff811a7cd2 0000000000001000 ffff88079503fcc0
ffffffffa0000000
[14495.480745]  00000000811a836c 00000000a2553100 ffff88081e5db800
ffff88079503fc58
[14495.480746]  ffff88079503fc58 0000000000000002 0000000000000002
ffff8807a2553100
[14495.480747] Call Trace:
[14495.480750]  [<ffffffff811a7cd2>] ? __purge_vmap_area_lazy+0x112/0x350
[14495.480753]  [<ffffffffa0000000>] ? 0xffffffffa0000000
[14495.480754]  [<ffffffff811a8029>] ? vm_unmap_aliases+0x119/0x130
[14495.480759]  [<ffffffff8103d48e>] ? change_page_attr_set_clr+0xbe/0x420
[14495.480761]  [<ffffffff8103e288>] ? set_memory_ro+0x28/0x30
[14495.480763]  [<ffffffff810cb1b4>] ? bpf_int_jit_compile+0x174/0x220
[14495.480765]  [<ffffffff81160f61>] ? bpf_prog_select_runtime+0x11/0x90
[14495.480768]  [<ffffffff816037d4>] ? bpf_prepare_filter+0x344/0x360
[14495.480770]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14495.480772]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14495.480773]  [<ffffffff81603b68>] ? bpf_prog_create_from_user+0x68/0xa0
[14495.480774]  [<ffffffff81142fa8>] ? do_seccomp+0xd8/0x5f0
[14495.480776]  [<ffffffff810df092>] ? SyS_prctl+0x22/0x3b0
[14495.480779]  [<ffffffff816892d7>] ? entry_SYSCALL_64_fastpath+0x12/0x6a
[14495.480779] Code: 8b 01 48 85 c0 75 0a f3 90 48 8b 01 48 85 c0 74
f6 c7 40 08 01 00 00 00 e9 66 ff ff ff 83 fa 01 75 07 e9 cc fe ff ff
f3 90 8b 07 <84> c0 75 f8 b8 01 00 00 00 66 89 07 c3 66 2e 0f 1f 84 00
00 00
[14503.476155] NMI watchdog: BUG: soft lockup - CPU#3 stuck for 22s!
[chrome:13398]
[14503.476158] Modules linked in: bnep hid_generic usbhid cdc_acm
af_packet pl2303 usbserial btusb btbcm btintel bluetooth uvcvideo
videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
ip6table_filter iptable_filter ip6_tables ip_tables x_tables mmc_block
snd_hda_codec_realtek snd_hda_codec_generic iwldvm coretemp
x86_pkg_temp_thermal intel_powerclamp mac80211 kvm_intel snd_hda_intel
sdhci_pci snd_hda_codec kvm iwlwifi snd_hwdep snd_hda_core joydev
xhci_pci ehci_pci sdhci xhci_hcd ehci_hcd snd_pcm mousedev microcode
cfg80211 mmc_core usbcore snd_timer usb_common thinkpad_acpi thermal
snd soundcore hwmon rfkill ac battery evdev processor ipv6
[14503.476189] CPU: 3 PID: 13398 Comm: chrome Tainted: G        W    L
 4.2.3-gentoo #3
[14503.476191] Hardware name: LENOVO 2436CTO/2436CTO, BIOS G5ETA2WW
(2.62 ) 03/31/2015
[14503.476192] task: ffff8800d60b4980 ti: ffff8806e1634000 task.ti:
ffff8806e1634000
[14503.476193] RIP: 0010:[<ffffffff81105fc1>]  [<ffffffff81105fc1>]
queued_spin_lock_slowpath+0x111/0x170
[14503.476198] RSP: 0018:ffff8806e1637c20  EFLAGS: 00000202
[14503.476199] RAX: 0000000000000000 RBX: ffff88081e5db800 RCX: ffff88081e2d5500
[14503.476200] RDX: 0000000000100101 RSI: 0000000000100000 RDI: ffffffff81e684b8
[14503.476200] RBP: ffff88081e3d04a8 R08: 0000000000000101 R09: 00000000000000ff
[14503.476202] R10: 0000000000000002 R11: 0000000000000fb0 R12: 0000000000000100
[14503.476202] R13: 0000000000000000 R14: ffffffff81179d04 R15: ffff8800d60b4980
[14503.476203] FS:  00007f5b393ce900(0000) GS:ffff88081e2c0000(0000)
knlGS:0000000000000000
[14503.476204] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[14503.476205] CR2: 00000a1e2b91b008 CR3: 00000007f47a1000 CR4: 00000000001406e0
[14503.476206] Stack:
[14503.476207]  ffffffff811a7cd2 0000000000001000 ffff8806e1637cc0
ffffffffa0000000
[14503.476208]  00000000811a836c 00000000d60b4980 ffff88081e5db800
ffff8806e1637c58
[14503.476210]  ffff8806e1637c58 0000000000000002 0000000000000002
ffff8800d60b4980
[14503.476212] Call Trace:
[14503.476215]  [<ffffffff811a7cd2>] ? __purge_vmap_area_lazy+0x112/0x350
[14503.476217]  [<ffffffffa0000000>] ? 0xffffffffa0000000
[14503.476219]  [<ffffffff811a8029>] ? vm_unmap_aliases+0x119/0x130
[14503.476223]  [<ffffffff8103d48e>] ? change_page_attr_set_clr+0xbe/0x420
[14503.476225]  [<ffffffff8103e288>] ? set_memory_ro+0x28/0x30
[14503.476227]  [<ffffffff810cb1b4>] ? bpf_int_jit_compile+0x174/0x220
[14503.476230]  [<ffffffff81160f61>] ? bpf_prog_select_runtime+0x11/0x90
[14503.476233]  [<ffffffff816037d4>] ? bpf_prepare_filter+0x344/0x360
[14503.476236]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14503.476238]  [<ffffffff81142d90>] ? proc_watchdog_cpumask+0xb0/0xb0
[14503.476239]  [<ffffffff81603b68>] ? bpf_prog_create_from_user+0x68/0xa0
[14503.476241]  [<ffffffff81142fa8>] ? do_seccomp+0xd8/0x5f0
[14503.476242]  [<ffffffff810df092>] ? SyS_prctl+0x22/0x3b0
[14503.476245]  [<ffffffff816892d7>] ? entry_SYSCALL_64_fastpath+0x12/0x6a
[14503.476246] Code: 30 48 98 48 81 c2 00 55 01 00 48 03 14 c5 e0 63
cc 81 48 89 0a 8b 41 08 85 c0 75 0d f3 90 8b 41 08 85 c0 74 f7 eb 02
f3 90 8b 17 <66> 85 d2 75 f7 39 f2 75 0f 89 d0 be 01 00 00 00 f0 0f b1
37 39
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1243951

From"Jason A. Donenfeld" <Jason@zx2c4.com>
Date2015-10-10 18:50 +0200
Message-ID<qi5vk-6C3-11@gated-at.bofh.it>
In reply to#1243619
On Fri, Oct 9, 2015 at 9:21 PM, Jason A. Donenfeld <Jason@zx2c4.com> wrote:
> In the meantime while I wait to hear back, I'll try backporting that
> commit to 4.2 myself, and seeing the stability of my laptop over the
> next 24 hours.

I can confirm that the fix was successful.

Stable - please add 37b12910dd11d9ab969f2c310dc9160b7f3e3405 to the
4.2.4 release.

=~=~=~=~=~=~=~=

From 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Mon Sep 17 00:00:00 2001
From: Raanan Avargil <raanan.avargil@intel.com>
Date: Sun, 19 Jul 2015 16:33:20 +0300
Subject: [PATCH] e1000e: Fix tight loop implementation of systime read
 algorithm

Change the algorithm. Read systimel twice and check for overflow.
If there was no overflow, use the first value.
If there was an overflow, read systimeh again and use the second
systimel value.

Signed-off-by: Raanan Avargil <raanan.avargil@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 31 ++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c
b/drivers/net/ethernet/intel/e1000e/netdev.c
index 24b7269..96a8166 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -4280,18 +4280,29 @@ static cycle_t e1000e_cyclecounter_read(const
struct cyclecounter *cc)
  struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter,
      cc);
  struct e1000_hw *hw = &adapter->hw;
+ u32 systimel_1, systimel_2, systimeh;
  cycle_t systim, systim_next;
- /* SYSTIMH latching upon SYSTIML read does not work well. To fix that
- * we don't want to allow overflow of SYSTIML and a change to SYSTIMH
- * to occur between reads, so if we read a vale close to overflow, we
- * wait for overflow to occur and read both registers when its safe.
+ /* SYSTIMH latching upon SYSTIML read does not work well.
+ * This means that if SYSTIML overflows after we read it but before
+ * we read SYSTIMH, the value of SYSTIMH has been incremented and we
+ * will experience a huge non linear increment in the systime value
+ * to fix that we test for overflow and if true, we re-read systime.
  */
- u32 systim_overflow_latch_fix = 0x3FFFFFFF;
-
- do {
- systim = (cycle_t)er32(SYSTIML);
- } while (systim > systim_overflow_latch_fix);
- systim |= (cycle_t)er32(SYSTIMH) << 32;
+ systimel_1 = er32(SYSTIML);
+ systimeh = er32(SYSTIMH);
+ systimel_2 = er32(SYSTIML);
+ /* Check for overflow. If there was no overflow, use the values */
+ if (systimel_1 < systimel_2) {
+ systim = (cycle_t)systimel_1;
+ systim |= (cycle_t)systimeh << 32;
+ } else {
+ /* There was an overflow, read again SYSTIMH, and use
+ * systimel_2
+ */
+ systimeh = er32(SYSTIMH);
+ systim = (cycle_t)systimel_2;
+ systim |= (cycle_t)systimeh << 32;
+ }

  if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) {
  u64 incvalue, time_delta, rem, temp;
-- 
2.6.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1244418

From"Avargil, Raanan" <raanan.avargil@intel.com>
Date2015-10-12 09:00 +0200
Message-ID<qiFfr-83W-17@gated-at.bofh.it>
In reply to#1243619
SGkgSmFzb24sDQpZb3VyIGFuYWx5c2lzIGlzIGNvcnJlY3QuIA0KVGhlIGlzc3VlIHdhcyBpbml0
aWFsbHkgcmVwb3J0ZWQgYnkgVmFsZGlzIEtsZXRuaWVrcyAoVmFsZGlzLktsZXRuaWVrc0B2dC5l
ZHUpDQpodHRwOi8vbGlzdHMub3N1b3NsLm9yZy9waXBlcm1haWwvaW50ZWwtd2lyZWQtbGFuL1dl
ZWstb2YtTW9uLTIwMTUwNjE1LzAwMDk5Mi5odG1sDQoNCkNvbW1pdCAzN2IxMjkxMGRkMTFkOWFi
OTY5ZjJjMzEwZGM5MTYwYjdmM2UzNDA1IGZpeGVzIHRoZSBsb2NrdXAgaXNzdWUsIGFuZCBhY2Nv
cmRpbmcgdG8gbXkgbGFzdCBjaGVjayBpdCBpcyBpbiA0LjMtcmM1LiANCg0KVGhhbmtzLA0KUmFh
bmFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBKYXNvbiBBLiBEb25lbmZl
bGQgW21haWx0bzpKYXNvbkB6eDJjNC5jb21dIA0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDA5LCAy
MDE1IDIyOjIyDQpUbzogS2lyc2hlciwgSmVmZnJleSBUIDxqZWZmcmV5LnQua2lyc2hlckBpbnRl
bC5jb20+OyBBdmFyZ2lsLCBSYWFuYW4gPHJhYW5hbi5hdmFyZ2lsQGludGVsLmNvbT47IHlhbmly
eC5sdWJldGtpbkBpbnRlbC5jb207IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91
bmRhdGlvbi5vcmc+DQpDYzogaW50ZWwtd2lyZWQtbGFuQGxpc3RzLm9zdW9zbC5vcmc7IE5ldGRl
diA8bmV0ZGV2QHZnZXIua2VybmVsLm9yZz47IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcN
ClN1YmplY3Q6IGUxMDAwZTogaGFyZCBzeXN0ZW0gbG9ja3VwIG9uIExpbnV4IDQuMg0KDQpIaSBK
ZWZmcmV5ICYgUmFhbmFuICYgWWFuaXJ4LA0KDQpJIGhhdmUgYSBUaGlua3BhZCBXNTMwIHdpdGgg
YSA4MjU3OUxNIGluc2lkZSBvZiBpdCwgd2hpY2ggdXNlcyB0aGUgZTEwMDBlIGRyaXZlci4gRXZl
cnkgZmV3IGhvdXJzLCBteSBzeXN0ZW0gZG9lcyBhIGhhcmQgbG9ja3VwLCBhbmQgSSBhbSB1bmFi
bGUgdG8gZG8gYW55dGhpbmcgYXQgYWxsIHdpdGggaXQgZXhjZXB0IHBvd2VyIGl0IG9mZi4gVGhl
cmUgaXNuJ3QgYSBwYW5pYyBvciBvb3BzLCBhcyBub3RoaW5nIGlzIHdyaXR0ZW4gdG8gL3N5cy9m
cy9wc3RvcmUgYWZ0ZXIuIEJ1dCwgSSBkaWQgZW5hYmxlIHRoZSBsb2NrdXAgZGV0ZWN0aW9uIGRl
YnVnIG9wdGlvbiwgYW5kIHdhcyBhYmxlIHRvIGdhaW4gYSBmZXcgc3RhY2sgdHJhY2VzLiBBbmQg
YWxsIG9mIHRoZSB0aW1lLCB0aGUgY3VscHJpdCBpcyB0aGUgZTEwMDBlIGRyaXZlci4NCg0KVGhl
IGZ1bm55IHRoaW5nIGlzIHRoYXQgSSdtIG5vdCBhY3R1YWxseSB1c2luZyB0aGUgRXRoZXJuZXQg
Y2FyZCAtLSBub3RoaW5nIGlzIHBsdWdnZWQgaW50byB0aGUgamFjaywgYXMgSSdtIG1vc3RseSBv
biB3aWZpIHRoZXNlIGRheXMuDQpOZXZlcnRoZWxlc3MsIGl0IHJlY2VpdmVzIHBvd2VyIGZyb20g
bXkgbGFwdG9wIGFuZCB0aHVzIHRoZSBkcml2ZXIgaXMgcGFydGFraW5nIGluIHNvbWUgZm9ybSBv
ZiBjb21tdW5pY2F0aW9uIHdpdGggaXQuDQoNClRoZSBzdGFjayB0cmFjZXMgZm9sbG93IGJlbG93
LiBZb3UnbGwgbm90aWNlIHRoYXQgc29tZSB0aW1lIGFmdGVyIHRoZSBpbml0aWFsIGUxMDAwZSBs
b2NrdXAsIHRoZSB0aGVyZSdzIGEgc29mdCBsb2NrdXAgaW4gdGhlIGJwZiBwYXRocy4gSSBiZWxp
ZXZlIHRoaXMgaXMgZHVlIHRvIHRoZSBmYWN0IHRoYXQgYXQgdGhlIHRpbWUgb2YgdGhlIGhhcmQg
bG9ja3VwIGluIGUxMDAwZSwgSSB3YXMgdHJ5aW5nIHRvIG9wZW4gYSBuZXcgQ2hyb21lIHRhYiBw
cm9jZXNzLCB3aGljaCBtYWtlcyB1c2Ugb2Ygc2VjY29tcC1icGYuIEkgZG8gbm90IGJlbGlldmUg
dGhlIGJ1ZyBpcyBpbiB0aGUgYnBmIGNvZGUsIGhvd2V2ZXIuDQoNCkJyaWVmbHkgbG9va2luZyBh
dCB0aGUgc3RhY2sgdHJhY2UgbXlzZWxmIHNob3dzIHF1aXRlIGEgYml0IG9mIGFjdGl2aXR5IGlu
IGBlMTAwMGVfY3ljbGVjb3VudGVyX3JlYWRgLiBSdW5uaW5nIGBnaXQgbG9nIGRyaXZlcnMvbmV0
L2V0aGVybmV0L2ludGVsL2UxMDAwZWAgaW5kaWNhdGVzIGEgcmVjZW50IGNoYW5nZSBmcm9tIFJh
YW5hbiAtLSAzN2IxMjkxMGRkMTFkOWFiOTY5ZjJjMzEwZGM5MTYwYjdmM2UzNDA1IC0tICJlMTAw
MGU6IEZpeCB0aWdodCBsb29wIGltcGxlbWVudGF0aW9uIG9mIHN5c3RpbWUgcmVhZCBhbGdvcml0
aG0iLiBJbiB0aGlzIGNoYW5nZSwgYSBsb29wIGlzIGVudGlyZWx5IHJlbW92ZWQuDQoNCkludmVz
dGlnYXRpbmcgdGhlIG9yaWdpbiBvZiB0aGF0IGxvb3AgcmV2ZWFscyB0aGlzIGNvbW1pdCBmcm9t
IFlhbmlyeA0KLS0gODMxMjliMzdlZjM1YmI2YTdmMDFjMDYwMTI5NzM2YThkYjVkMzFjNC4gVGhp
cyBjb21taXQgYXBwZWFycyB0byBiZSBwcmVzZW50IGluIDQuMiwgYnV0IG5vdCBpbiA0LjEuIFRo
aXMgbGVhZHMgbWUgdG8gdGhpbmsgaXQgbWF5IGJlIHRoZSBjYXVzZSBvZiB0aGUgYnVnLCB3aXRo
IHRoZSBhZm9yZW1lbnRpb25lZA0KMzdiMTI5MTBkZDExZDlhYjk2OWYyYzMxMGRjOTE2MGI3ZjNl
MzQwNSBiZWluZyB0aGUgZml4IGZvciBpdC4NCg0KSSB3b3VsZCB0aGVyZWZvcmUgcmVjb21tZW5k
IHRoYXQgLS0gaWYgdGhpcyBhbmFseXNpcyBpcyBjb3JyZWN0IC0tDQozN2IxMjkxMGRkMTFkOWFi
OTY5ZjJjMzEwZGM5MTYwYjdmM2UzNDA1IGJlIGJhY2twb3J0ZWQgdG8gdGhlIDQuMiBzdGFibGUg
cmVsZWFzZXMgKHRodXMsIENDaW5nIEdyZWcpLg0KDQpJZiBteSB2ZXJ5IGJyaWVmIGFuZCBwcmVs
aW1pbmFyeSBpbnZlc3RpZ2F0aW9uIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgbGV0IG1lIGtub3cg
aWYgdGhlcmUgaXMgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgZGVidWdnaW5nIHN0ZXBz
IEkgY2FuIGFwcGx5LCBzbyB0aGF0IHdlIGNhbiBmaXggdGhpcyByZWdyZXNzaW9uLg0KDQpJbiB0
aGUgbWVhbnRpbWUgd2hpbGUgSSB3YWl0IHRvIGhlYXIgYmFjaywgSSdsbCB0cnkgYmFja3BvcnRp
bmcgdGhhdCBjb21taXQgdG8gNC4yIG15c2VsZiwgYW5kIHNlZWluZyB0aGUgc3RhYmlsaXR5IG9m
IG15IGxhcHRvcCBvdmVyIHRoZSBuZXh0IDI0IGhvdXJzLg0KDQpUaGFua3MsDQpKYXNvbg0KDQo9
fj1+PX49fj1+PX49fj1+PX49fj1+PX49fj1+PX49fj1+PX49fj1+PX49fj1+DQoNClsxNDQ2OS4y
NzQ4NjZdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLSBbMTQ0NjkuMjc0ODc0
XSBXQVJOSU5HOiBDUFU6IDEgUElEOiAxMjAzMiBhdCBrZXJuZWwvd2F0Y2hkb2cuYzozMTENCndh
dGNoZG9nX292ZXJmbG93X2NhbGxiYWNrKzB4NzQvMHhhMCgpDQpbMTQ0NjkuMjc0ODc1XSBXYXRj
aGRvZyBkZXRlY3RlZCBoYXJkIExPQ0tVUCBvbiBjcHUgMSBbMTQ0NjkuMjc0ODc3XSBNb2R1bGVz
IGxpbmtlZCBpbjoNClsxNDQ2OS4yNzQ4NzhdICBibmVwIGhpZF9nZW5lcmljIHVzYmhpZCBjZGNf
YWNtIGFmX3BhY2tldCBwbDIzMDMgdXNic2VyaWFsIGJ0dXNiIGJ0YmNtIGJ0aW50ZWwgYmx1ZXRv
b3RoIHV2Y3ZpZGVvIHZpZGVvYnVmMl92bWFsbG9jIHZpZGVvYnVmMl9tZW1vcHMgdmlkZW9idWYy
X2NvcmUgdjRsMl9jb21tb24gdmlkZW9kZXYgaXA2dGFibGVfZmlsdGVyIGlwdGFibGVfZmlsdGVy
IGlwNl90YWJsZXMgaXBfdGFibGVzIHhfdGFibGVzIG1tY19ibG9jayBzbmRfaGRhX2NvZGVjX3Jl
YWx0ZWsgc25kX2hkYV9jb2RlY19nZW5lcmljIGl3bGR2bSBjb3JldGVtcCB4ODZfcGtnX3RlbXBf
dGhlcm1hbCBpbnRlbF9wb3dlcmNsYW1wIG1hYzgwMjExIGt2bV9pbnRlbCBzbmRfaGRhX2ludGVs
IHNkaGNpX3BjaSBzbmRfaGRhX2NvZGVjIGt2bSBpd2x3aWZpIHNuZF9od2RlcCBzbmRfaGRhX2Nv
cmUgam95ZGV2IHhoY2lfcGNpIGVoY2lfcGNpIHNkaGNpIHhoY2lfaGNkIGVoY2lfaGNkIHNuZF9w
Y20gbW91c2VkZXYgbWljcm9jb2RlDQpjZmc4MDIxMSBtbWNfY29yZSB1c2Jjb3JlIHNuZF90aW1l
ciB1c2JfY29tbW9uIHRoaW5rcGFkX2FjcGkgdGhlcm1hbCBzbmQgc291bmRjb3JlIGh3bW9uIHJm
a2lsbCBhYyBiYXR0ZXJ5IGV2ZGV2IHByb2Nlc3NvciBpcHY2IFsxNDQ2OS4yNzQ5MTJdIENQVTog
MSBQSUQ6IDEyMDMyIENvbW06IGt3b3JrZXIvMTowIE5vdCB0YWludGVkIDQuMi4zLWdlbnRvbyAj
MyBbMTQ0NjkuMjc0OTEzXSBIYXJkd2FyZSBuYW1lOiBMRU5PVk8gMjQzNkNUTy8yNDM2Q1RPLCBC
SU9TIEc1RVRBMldXDQooMi42MiApIDAzLzMxLzIwMTUNClsxNDQ2OS4yNzQ5MThdIFdvcmtxdWV1
ZTogZXZlbnRzIGUxMDAwZV9zeXN0aW1fb3ZlcmZsb3dfd29yayBbMTQ0NjkuMjc0OTIwXSAgMDAw
MDAwMDAwMDAwMDAwMCBmZmZmZmZmZjgxYTBlYjY5IGZmZmZmZmZmODE2ODNmMzMNCmZmZmY4ODA4
MWUyNDViYTANClsxNDQ2OS4yNzQ5MjJdICBmZmZmZmZmZjgxMGNlNGI4IGZmZmY4ODA3ZmE2ZjAw
MDAgMDAwMDAwMDAwMDAwMDAwMA0KZmZmZjg4MDgxZTI0NWM4MA0KWzE0NDY5LjI3NDkyNF0gIGZm
ZmY4ODA4MWUyNDVlZjggMDAwMDAwMDAwMDAwMDAwMCBmZmZmZmZmZjgxMGNlNTM1DQpmZmZmZmZm
ZjgxYTBhM2Y4DQpbMTQ0NjkuMjc0OTI2XSBDYWxsIFRyYWNlOg0KWzE0NDY5LjI3NDkyOF0gIDxO
TUk+ICBbPGZmZmZmZmZmODE2ODNmMzM+XSA/IGR1bXBfc3RhY2srMHg0MC8weDUwIFsxNDQ2OS4y
NzQ5MzVdICBbPGZmZmZmZmZmODEwY2U0Yjg+XSA/IHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4Nzgv
MHhiMCBbMTQ0NjkuMjc0OTM3XSAgWzxmZmZmZmZmZjgxMGNlNTM1Pl0gPyB3YXJuX3Nsb3dwYXRo
X2ZtdCsweDQ1LzB4NTAgWzE0NDY5LjI3NDkzOV0gIFs8ZmZmZmZmZmY4MTE0MjhhND5dID8gd2F0
Y2hkb2dfb3ZlcmZsb3dfY2FsbGJhY2srMHg3NC8weGEwDQpbMTQ0NjkuMjc0OTQxXSAgWzxmZmZm
ZmZmZjgxMTZhYzM2Pl0gPyBfX3BlcmZfZXZlbnRfb3ZlcmZsb3crMHg4Ni8weDFjMCBbMTQ0Njku
Mjc0OTQ0XSAgWzxmZmZmZmZmZjgxMDFjZGQ5Pl0gPyBpbnRlbF9wbXVfaGFuZGxlX2lycSsweDFj
OS8weDNmMCBbMTQ0NjkuMjc0OTQ4XSAgWzxmZmZmZmZmZjgxMDE1MTQ1Pl0gPyBwZXJmX2V2ZW50
X25taV9oYW5kbGVyKzB4MjUvMHg0MCBbMTQ0NjkuMjc0OTUxXSAgWzxmZmZmZmZmZjgxMDA2OTVj
Pl0gPyBubWlfaGFuZGxlKzB4N2MvMHgxMDAgWzE0NDY5LjI3NDk1Ml0gIFs8ZmZmZmZmZmY4MTAw
NmJiZD5dID8gZG9fbm1pKzB4MWRkLzB4MzYwIFsxNDQ2OS4yNzQ5NTZdICBbPGZmZmZmZmZmODE2
OGIwOTc+XSA/IGVuZF9yZXBlYXRfbm1pKzB4MWEvMHgxZSBbMTQ0NjkuMjc0OTU4XSAgWzxmZmZm
ZmZmZjgxNTU5YmNkPl0gPyBlMTAwMGVfY3ljbGVjb3VudGVyX3JlYWQrMHhkLzB4YjAgWzE0NDY5
LjI3NDk2MF0gIFs8ZmZmZmZmZmY4MTU1OWJjZD5dID8gZTEwMDBlX2N5Y2xlY291bnRlcl9yZWFk
KzB4ZC8weGIwIFsxNDQ2OS4yNzQ5NjJdICBbPGZmZmZmZmZmODE1NTliY2Q+XSA/IGUxMDAwZV9j
eWNsZWNvdW50ZXJfcmVhZCsweGQvMHhiMCBbMTQ0NjkuMjc0OTYzXSAgPDxFT0U+PiAgWzxmZmZm
ZmZmZjgxMTI0ODVjPl0gPyB0aW1lY291bnRlcl9yZWFkKzB4Yy8weDUwIFsxNDQ2OS4yNzQ5Njhd
ICBbPGZmZmZmZmZmODE1NjUyYzg+XSA/IGUxMDAwZV9waGNfZ2V0dGltZSsweDI4LzB4NjAgWzE0
NDY5LjI3NDk3MV0gIFs8ZmZmZmZmZmY4MTU2NTQzOD5dID8gZTEwMDBlX3N5c3RpbV9vdmVyZmxv
d193b3JrKzB4MTgvMHg0MA0KWzE0NDY5LjI3NDk3NF0gIFs8ZmZmZmZmZmY4MTBlMzA0MD5dID8g
cHJvY2Vzc19vbmVfd29yaysweDE0MC8weDNmMCBbMTQ0NjkuMjc0OTc2XSAgWzxmZmZmZmZmZjgx
MGUzMzMyPl0gPyB3b3JrZXJfdGhyZWFkKzB4NDIvMHg0OTAgWzE0NDY5LjI3NDk3OF0gIFs8ZmZm
ZmZmZmY4MTBlMzJmMD5dID8gcHJvY2Vzc19vbmVfd29yaysweDNmMC8weDNmMCBbMTQ0NjkuMjc0
OTgwXSAgWzxmZmZmZmZmZjgxMGU4NzNjPl0gPyBrdGhyZWFkKzB4YmMvMHhlMCBbMTQ0NjkuMjc0
OTgzXSAgWzxmZmZmZmZmZjgxMGU4NjgwPl0gPyBrdGhyZWFkX3dvcmtlcl9mbisweDE2MC8weDE2
MCBbMTQ0NjkuMjc0OTg1XSAgWzxmZmZmZmZmZjgxNjg5NjlmPl0gPyByZXRfZnJvbV9mb3JrKzB4
M2YvMHg3MCBbMTQ0NjkuMjc0OTg3XSAgWzxmZmZmZmZmZjgxMGU4NjgwPl0gPyBrdGhyZWFkX3dv
cmtlcl9mbisweDE2MC8weDE2MCBbMTQ0NjkuMjc0OTg4XSAtLS1bIGVuZCB0cmFjZSA5OTgyN2Yz
MzgzY2FkNDE5IF0tLS0gWzE0NDkxLjQ3NTk3MV0gTk1JIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9j
a3VwIC0gQ1BVIzAgc3R1Y2sgZm9yIDIzcyENCltjaHJvbWU6MTMzODhdDQpbMTQ0OTEuNDc1OTcz
XSBNb2R1bGVzIGxpbmtlZCBpbjogYm5lcCBoaWRfZ2VuZXJpYyB1c2JoaWQgY2RjX2FjbSBhZl9w
YWNrZXQgcGwyMzAzIHVzYnNlcmlhbCBidHVzYiBidGJjbSBidGludGVsIGJsdWV0b290aCB1dmN2
aWRlbyB2aWRlb2J1ZjJfdm1hbGxvYyB2aWRlb2J1ZjJfbWVtb3BzIHZpZGVvYnVmMl9jb3JlIHY0
bDJfY29tbW9uIHZpZGVvZGV2IGlwNnRhYmxlX2ZpbHRlciBpcHRhYmxlX2ZpbHRlciBpcDZfdGFi
bGVzIGlwX3RhYmxlcyB4X3RhYmxlcyBtbWNfYmxvY2sgc25kX2hkYV9jb2RlY19yZWFsdGVrIHNu
ZF9oZGFfY29kZWNfZ2VuZXJpYyBpd2xkdm0gY29yZXRlbXAgeDg2X3BrZ190ZW1wX3RoZXJtYWwg
aW50ZWxfcG93ZXJjbGFtcCBtYWM4MDIxMSBrdm1faW50ZWwgc25kX2hkYV9pbnRlbCBzZGhjaV9w
Y2kgc25kX2hkYV9jb2RlYyBrdm0gaXdsd2lmaSBzbmRfaHdkZXAgc25kX2hkYV9jb3JlIGpveWRl
diB4aGNpX3BjaSBlaGNpX3BjaSBzZGhjaSB4aGNpX2hjZCBlaGNpX2hjZCBzbmRfcGNtIG1vdXNl
ZGV2IG1pY3JvY29kZQ0KY2ZnODAyMTEgbW1jX2NvcmUgdXNiY29yZSBzbmRfdGltZXIgdXNiX2Nv
bW1vbiB0aGlua3BhZF9hY3BpIHRoZXJtYWwgc25kIHNvdW5kY29yZSBod21vbiByZmtpbGwgYWMg
YmF0dGVyeSBldmRldiBwcm9jZXNzb3IgaXB2Ng0KWzE0NDkxLjQ3NjAwNl0gQ1BVOiAwIFBJRDog
MTMzODggQ29tbTogY2hyb21lIFRhaW50ZWQ6IEcgICAgICAgIFcNCiA0LjIuMy1nZW50b28gIzMN
ClsxNDQ5MS40NzYwMDddIEhhcmR3YXJlIG5hbWU6IExFTk9WTyAyNDM2Q1RPLzI0MzZDVE8sIEJJ
T1MgRzVFVEEyV1cNCigyLjYyICkgMDMvMzEvMjAxNQ0KWzE0NDkxLjQ3NjAwOF0gdGFzazogZmZm
Zjg4MDdhMjU1MDAwMCB0aTogZmZmZjg4MDZlMTYzYzAwMCB0YXNrLnRpOg0KZmZmZjg4MDZlMTYz
YzAwMA0KWzE0NDkxLjQ3NjAxMF0gUklQOiAwMDEwOls8ZmZmZmZmZmY4MTEyZDkxMz5dICBbPGZm
ZmZmZmZmODExMmQ5MTM+XQ0Kc21wX2NhbGxfZnVuY3Rpb25fbWFueSsweDFlMy8weDI0MA0KWzE0
NDkxLjQ3NjAxNV0gUlNQOiAwMDE4OmZmZmY4ODA2ZTE2M2ZiODggIEVGTEFHUzogMDAwMDAyMDIg
WzE0NDkxLjQ3NjAxNl0gUkFYOiAwMDAwMDAwMDAwMDAwMDAzIFJCWDogMDAwMDAwMDAwMDAwMDAw
MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDEgWzE0NDkxLjQ3NjAxOF0gUkRYOiBmZmZmODgwODFlMjU4
MjEwIFJTSTogMDAwMDAwMDAwMDAwMDAwOCBSREk6IGZmZmY4ODA4MWUyMTU5MDggWzE0NDkxLjQ3
NjAxOV0gUkJQOiBmZmZmODgwODFlMjE1OTAwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAw
MDAwMDAwMDAwMDAwZmUgWzE0NDkxLjQ3NjAyMF0gUjEwOiAwMDAwMDAwMDAwMDAwMDAyIFIxMTog
MDAwMDAwMDAwMDAwMGZiMCBSMTI6IDAwMDAwMDAwMDAwMDAxMDAgWzE0NDkxLjQ3NjAyMV0gUjEz
OiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogZmZmZjg4MDgxZTVkYjgwOCBSMTU6IDAwMDAwMDAwMDAw
MDAwNDAgWzE0NDkxLjQ3NjAyMl0gRlM6ICAwMDAwN2Y1YjM5M2NlOTAwKDAwMDApIEdTOmZmZmY4
ODA4MWUyMDAwMDAoMDAwMCkNCmtubEdTOjAwMDAwMDAwMDAwMDAwMDANClsxNDQ5MS40NzYwMjNd
IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMgWzE0NDkx
LjQ3NjAyNF0gQ1IyOiAwMDAwMGExZTJiOTFiMDA4IENSMzogMDAwMDAwMDc0MmNhZjAwMCBDUjQ6
IDAwMDAwMDAwMDAxNDA2ZjAgWzE0NDkxLjQ3NjAyNV0gU3RhY2s6DQpbMTQ0OTEuNDc2MDI2XSAg
MDAwMDAwMDAwMDAxNThjMCAwMDAwMDAwMTAwMDAwMTAwIGZmZmY4ODA4MWUzZDA0YTANCmZmZmZm
ZmZmODEwNDBkNjANClsxNDQ5MS40NzYwMjhdICAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4ODA2ZTE2
M2ZjNTggZmZmZjg4MDgxZTNkMDQ3OA0KZmZmZjg4MDZlMTYzZmNjOA0KWzE0NDkxLjQ3NjAzMF0g
IGZmZmY4ODA2ZTE2M2ZjMTggZmZmZmZmZmY4MTEyZDljMyBmZmZmODgwNmUxNjNmY2MwDQpmZmZm
ODgwODFlM2QwNGEwDQpbMTQ0OTEuNDc2MDMyXSBDYWxsIFRyYWNlOg0KWzE0NDkxLjQ3NjAzNl0g
IFs8ZmZmZmZmZmY4MTA0MGQ2MD5dID8gZmx1c2hfdGxiX2Z1bmMrMHgxNDAvMHgxNDAgWzE0NDkx
LjQ3NjAzOF0gIFs8ZmZmZmZmZmY4MTEyZDljMz5dID8gb25fZWFjaF9jcHUrMHgyMy8weDQwIFsx
NDQ5MS40NzYwMzldICBbPGZmZmZmZmZmODEwNDEwZjM+XSA/IGZsdXNoX3RsYl9rZXJuZWxfcmFu
Z2UrMHgzMy8weDYwIFsxNDQ5MS40NzYwNDJdICBbPGZmZmZmZmZmODExYTdjOGQ+XSA/IF9fcHVy
Z2Vfdm1hcF9hcmVhX2xhenkrMHhjZC8weDM1MCBbMTQ0OTEuNDc2MDQ0XSAgWzxmZmZmZmZmZjgx
MWE3ZWFiPl0gPyBfX3B1cmdlX3ZtYXBfYXJlYV9sYXp5KzB4MmViLzB4MzUwDQpbMTQ0OTEuNDc2
MDQ1XSAgWzxmZmZmZmZmZjgxMWE4MDI5Pl0gPyB2bV91bm1hcF9hbGlhc2VzKzB4MTE5LzB4MTMw
IFsxNDQ5MS40NzYwNDhdICBbPGZmZmZmZmZmYTAxOTEwMDA+XSA/IDB4ZmZmZmZmZmZhMDE5MTAw
MCBbMTQ0OTEuNDc2MDUxXSAgWzxmZmZmZmZmZjgxMDNkNDhlPl0gPyBjaGFuZ2VfcGFnZV9hdHRy
X3NldF9jbHIrMHhiZS8weDQyMA0KWzE0NDkxLjQ3NjA1M10gIFs8ZmZmZmZmZmY4MTAzZTI4OD5d
ID8gc2V0X21lbW9yeV9ybysweDI4LzB4MzAgWzE0NDkxLjQ3NjA1Nl0gIFs8ZmZmZmZmZmY4MTBj
YjFiND5dID8gYnBmX2ludF9qaXRfY29tcGlsZSsweDE3NC8weDIyMCBbMTQ0OTEuNDc2MDYwXSAg
WzxmZmZmZmZmZjgxMTYwZjYxPl0gPyBicGZfcHJvZ19zZWxlY3RfcnVudGltZSsweDExLzB4OTAg
WzE0NDkxLjQ3NjA2M10gIFs8ZmZmZmZmZmY4MTYwMzdkND5dID8gYnBmX3ByZXBhcmVfZmlsdGVy
KzB4MzQ0LzB4MzYwIFsxNDQ5MS40NzYwNjZdICBbPGZmZmZmZmZmODExNDJkOTA+XSA/IHByb2Nf
d2F0Y2hkb2dfY3B1bWFzaysweGIwLzB4YjAgWzE0NDkxLjQ3NjA2N10gIFs8ZmZmZmZmZmY4MTE0
MmQ5MD5dID8gcHJvY193YXRjaGRvZ19jcHVtYXNrKzB4YjAvMHhiMCBbMTQ0OTEuNDc2MDY5XSAg
WzxmZmZmZmZmZjgxNjAzYjY4Pl0gPyBicGZfcHJvZ19jcmVhdGVfZnJvbV91c2VyKzB4NjgvMHhh
MA0KWzE0NDkxLjQ3NjA3MV0gIFs8ZmZmZmZmZmY4MTE0MmZhOD5dID8gZG9fc2VjY29tcCsweGQ4
LzB4NWYwIFsxNDQ5MS40NzYwNzNdICBbPGZmZmZmZmZmODEwZGYwOTI+XSA/IFN5U19wcmN0bCsw
eDIyLzB4M2IwIFsxNDQ5MS40NzYwNzZdICBbPGZmZmZmZmZmODE2ODkyZDc+XSA/IGVudHJ5X1NZ
U0NBTExfNjRfZmFzdHBhdGgrMHgxMi8weDZhDQpbMTQ0OTEuNDc2MDc3XSBDb2RlOiA5NSAyMiAw
MCAzYiAwNSBhMyBhMiBiOSAwMCA4OSBjMSAwZiA4ZCA5ZSBmZSBmZiBmZiA0OCA5OCA0OCA4YiA1
NSAwMCA0OCAwMyAxNCBjNSBlMCA2MyBjYyA4MSA4YiA0MiAxOCBhOCAwMSA3NCBjYSBmMw0KOTAg
OGIgNDIgMTggPGE4PiAwMSA3NSBmNyBlYiBiZiA0OCA4YiAxNSBhOCBmYSA2ZCAwMCA0YyA4OSBl
NiA4OSBlZiBlOA0KMjYgNmINClsxNDQ5NS40ODA2OThdIE5NSSB3YXRjaGRvZzogQlVHOiBzb2Z0
IGxvY2t1cCAtIENQVSM0IHN0dWNrIGZvciAyMnMhDQpbY2hyb21lOjEzMzkxXQ0KWzE0NDk1LjQ4
MDcwMV0gTW9kdWxlcyBsaW5rZWQgaW46IGJuZXAgaGlkX2dlbmVyaWMgdXNiaGlkIGNkY19hY20g
YWZfcGFja2V0IHBsMjMwMyB1c2JzZXJpYWwgYnR1c2IgYnRiY20gYnRpbnRlbCBibHVldG9vdGgg
dXZjdmlkZW8gdmlkZW9idWYyX3ZtYWxsb2MgdmlkZW9idWYyX21lbW9wcyB2aWRlb2J1ZjJfY29y
ZSB2NGwyX2NvbW1vbiB2aWRlb2RldiBpcDZ0YWJsZV9maWx0ZXIgaXB0YWJsZV9maWx0ZXIgaXA2
X3RhYmxlcyBpcF90YWJsZXMgeF90YWJsZXMgbW1jX2Jsb2NrIHNuZF9oZGFfY29kZWNfcmVhbHRl
ayBzbmRfaGRhX2NvZGVjX2dlbmVyaWMgaXdsZHZtIGNvcmV0ZW1wIHg4Nl9wa2dfdGVtcF90aGVy
bWFsIGludGVsX3Bvd2VyY2xhbXAgbWFjODAyMTEga3ZtX2ludGVsIHNuZF9oZGFfaW50ZWwgc2Ro
Y2lfcGNpIHNuZF9oZGFfY29kZWMga3ZtIGl3bHdpZmkgc25kX2h3ZGVwIHNuZF9oZGFfY29yZSBq
b3lkZXYgeGhjaV9wY2kgZWhjaV9wY2kgc2RoY2kgeGhjaV9oY2QgZWhjaV9oY2Qgc25kX3BjbSBt
b3VzZWRldiBtaWNyb2NvZGUNCmNmZzgwMjExIG1tY19jb3JlIHVzYmNvcmUgc25kX3RpbWVyIHVz
Yl9jb21tb24gdGhpbmtwYWRfYWNwaSB0aGVybWFsIHNuZCBzb3VuZGNvcmUgaHdtb24gcmZraWxs
IGFjIGJhdHRlcnkgZXZkZXYgcHJvY2Vzc29yIGlwdjYNClsxNDQ5NS40ODA3MjhdIENQVTogNCBQ
SUQ6IDEzMzkxIENvbW06IGNocm9tZSBUYWludGVkOiBHICAgICAgICBXICAgIEwNCiA0LjIuMy1n
ZW50b28gIzMNClsxNDQ5NS40ODA3MjldIEhhcmR3YXJlIG5hbWU6IExFTk9WTyAyNDM2Q1RPLzI0
MzZDVE8sIEJJT1MgRzVFVEEyV1cNCigyLjYyICkgMDMvMzEvMjAxNQ0KWzE0NDk1LjQ4MDczMF0g
dGFzazogZmZmZjg4MDdhMjU1MzEwMCB0aTogZmZmZjg4MDc5NTAzYzAwMCB0YXNrLnRpOg0KZmZm
Zjg4MDc5NTAzYzAwMA0KWzE0NDk1LjQ4MDczMV0gUklQOiAwMDEwOls8ZmZmZmZmZmY4MTEwNjAw
OD5dICBbPGZmZmZmZmZmODExMDYwMDg+XQ0KcXVldWVkX3NwaW5fbG9ja19zbG93cGF0aCsweDE1
OC8weDE3MA0KWzE0NDk1LjQ4MDczNl0gUlNQOiAwMDE4OmZmZmY4ODA3OTUwM2ZjMjAgIEVGTEFH
UzogMDAwMDAyMDIgWzE0NDk1LjQ4MDczN10gUkFYOiAwMDAwMDAwMDAwMTAwMTAxIFJCWDogZmZm
Zjg4MDgxZTVkYjgwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDEgWzE0NDk1LjQ4MDczN10gUkRYOiAw
MDAwMDAwMDAwMDAwMTAxIFJTSTogMDAwMDAwMDAwMDAwMDAwMSBSREk6IGZmZmZmZmZmODFlNjg0
YjggWzE0NDk1LjQ4MDczOF0gUkJQOiBmZmZmODgwODFlM2QwNGE4IFIwODogMDAwMDAwMDAwMDAw
MDEwMSBSMDk6IDAwMDAwMDAwMDAwMDAwZmYgWzE0NDk1LjQ4MDczOV0gUjEwOiAwMDAwMDAwMDAw
MDAwMDAyIFIxMTogMDAwMDAwMDAwMDAwMGZiMCBSMTI6IDAwMDAwMDAwMDAwMDAxMDAgWzE0NDk1
LjQ4MDc0MF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogZmZmZmZmZmY4MTE3OWQwNCBSMTU6
IGZmZmY4ODA3YTI1NTMxMDAgWzE0NDk1LjQ4MDc0MV0gRlM6ICAwMDAwN2Y1YjM5M2NlOTAwKDAw
MDApIEdTOmZmZmY4ODA4MWUzMDAwMDAoMDAwMCkNCmtubEdTOjAwMDAwMDAwMDAwMDAwMDANClsx
NDQ5NS40ODA3NDFdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAw
NTAwMzMgWzE0NDk1LjQ4MDc0Ml0gQ1IyOiAwMDAwMGExZTJiOTFiMDA4IENSMzogMDAwMDAwMDc0
MjRhZjAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZTAgWzE0NDk1LjQ4MDc0M10gU3RhY2s6DQpbMTQ0
OTUuNDgwNzQzXSAgZmZmZmZmZmY4MTFhN2NkMiAwMDAwMDAwMDAwMDAxMDAwIGZmZmY4ODA3OTUw
M2ZjYzANCmZmZmZmZmZmYTAwMDAwMDANClsxNDQ5NS40ODA3NDVdICAwMDAwMDAwMDgxMWE4MzZj
IDAwMDAwMDAwYTI1NTMxMDAgZmZmZjg4MDgxZTVkYjgwMA0KZmZmZjg4MDc5NTAzZmM1OA0KWzE0
NDk1LjQ4MDc0Nl0gIGZmZmY4ODA3OTUwM2ZjNTggMDAwMDAwMDAwMDAwMDAwMiAwMDAwMDAwMDAw
MDAwMDAyDQpmZmZmODgwN2EyNTUzMTAwDQpbMTQ0OTUuNDgwNzQ3XSBDYWxsIFRyYWNlOg0KWzE0
NDk1LjQ4MDc1MF0gIFs8ZmZmZmZmZmY4MTFhN2NkMj5dID8gX19wdXJnZV92bWFwX2FyZWFfbGF6
eSsweDExMi8weDM1MA0KWzE0NDk1LjQ4MDc1M10gIFs8ZmZmZmZmZmZhMDAwMDAwMD5dID8gMHhm
ZmZmZmZmZmEwMDAwMDAwIFsxNDQ5NS40ODA3NTRdICBbPGZmZmZmZmZmODExYTgwMjk+XSA/IHZt
X3VubWFwX2FsaWFzZXMrMHgxMTkvMHgxMzAgWzE0NDk1LjQ4MDc1OV0gIFs8ZmZmZmZmZmY4MTAz
ZDQ4ZT5dID8gY2hhbmdlX3BhZ2VfYXR0cl9zZXRfY2xyKzB4YmUvMHg0MjANClsxNDQ5NS40ODA3
NjFdICBbPGZmZmZmZmZmODEwM2UyODg+XSA/IHNldF9tZW1vcnlfcm8rMHgyOC8weDMwIFsxNDQ5
NS40ODA3NjNdICBbPGZmZmZmZmZmODEwY2IxYjQ+XSA/IGJwZl9pbnRfaml0X2NvbXBpbGUrMHgx
NzQvMHgyMjAgWzE0NDk1LjQ4MDc2NV0gIFs8ZmZmZmZmZmY4MTE2MGY2MT5dID8gYnBmX3Byb2df
c2VsZWN0X3J1bnRpbWUrMHgxMS8weDkwIFsxNDQ5NS40ODA3NjhdICBbPGZmZmZmZmZmODE2MDM3
ZDQ+XSA/IGJwZl9wcmVwYXJlX2ZpbHRlcisweDM0NC8weDM2MCBbMTQ0OTUuNDgwNzcwXSAgWzxm
ZmZmZmZmZjgxMTQyZDkwPl0gPyBwcm9jX3dhdGNoZG9nX2NwdW1hc2srMHhiMC8weGIwIFsxNDQ5
NS40ODA3NzJdICBbPGZmZmZmZmZmODExNDJkOTA+XSA/IHByb2Nfd2F0Y2hkb2dfY3B1bWFzaysw
eGIwLzB4YjAgWzE0NDk1LjQ4MDc3M10gIFs8ZmZmZmZmZmY4MTYwM2I2OD5dID8gYnBmX3Byb2df
Y3JlYXRlX2Zyb21fdXNlcisweDY4LzB4YTANClsxNDQ5NS40ODA3NzRdICBbPGZmZmZmZmZmODEx
NDJmYTg+XSA/IGRvX3NlY2NvbXArMHhkOC8weDVmMCBbMTQ0OTUuNDgwNzc2XSAgWzxmZmZmZmZm
ZjgxMGRmMDkyPl0gPyBTeVNfcHJjdGwrMHgyMi8weDNiMCBbMTQ0OTUuNDgwNzc5XSAgWzxmZmZm
ZmZmZjgxNjg5MmQ3Pl0gPyBlbnRyeV9TWVNDQUxMXzY0X2Zhc3RwYXRoKzB4MTIvMHg2YQ0KWzE0
NDk1LjQ4MDc3OV0gQ29kZTogOGIgMDEgNDggODUgYzAgNzUgMGEgZjMgOTAgNDggOGIgMDEgNDgg
ODUgYzAgNzQNCmY2IGM3IDQwIDA4IDAxIDAwIDAwIDAwIGU5IDY2IGZmIGZmIGZmIDgzIGZhIDAx
IDc1IDA3IGU5IGNjIGZlIGZmIGZmDQpmMyA5MCA4YiAwNyA8ODQ+IGMwIDc1IGY4IGI4IDAxIDAw
IDAwIDAwIDY2IDg5IDA3IGMzIDY2IDJlIDBmIDFmIDg0IDAwDQowMCAwMA0KWzE0NTAzLjQ3NjE1
NV0gTk1JIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzMgc3R1Y2sgZm9yIDIycyEN
CltjaHJvbWU6MTMzOThdDQpbMTQ1MDMuNDc2MTU4XSBNb2R1bGVzIGxpbmtlZCBpbjogYm5lcCBo
aWRfZ2VuZXJpYyB1c2JoaWQgY2RjX2FjbSBhZl9wYWNrZXQgcGwyMzAzIHVzYnNlcmlhbCBidHVz
YiBidGJjbSBidGludGVsIGJsdWV0b290aCB1dmN2aWRlbyB2aWRlb2J1ZjJfdm1hbGxvYyB2aWRl
b2J1ZjJfbWVtb3BzIHZpZGVvYnVmMl9jb3JlIHY0bDJfY29tbW9uIHZpZGVvZGV2IGlwNnRhYmxl
X2ZpbHRlciBpcHRhYmxlX2ZpbHRlciBpcDZfdGFibGVzIGlwX3RhYmxlcyB4X3RhYmxlcyBtbWNf
YmxvY2sgc25kX2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfY29kZWNfZ2VuZXJpYyBpd2xkdm0g
Y29yZXRlbXAgeDg2X3BrZ190ZW1wX3RoZXJtYWwgaW50ZWxfcG93ZXJjbGFtcCBtYWM4MDIxMSBr
dm1faW50ZWwgc25kX2hkYV9pbnRlbCBzZGhjaV9wY2kgc25kX2hkYV9jb2RlYyBrdm0gaXdsd2lm
aSBzbmRfaHdkZXAgc25kX2hkYV9jb3JlIGpveWRldiB4aGNpX3BjaSBlaGNpX3BjaSBzZGhjaSB4
aGNpX2hjZCBlaGNpX2hjZCBzbmRfcGNtIG1vdXNlZGV2IG1pY3JvY29kZQ0KY2ZnODAyMTEgbW1j
X2NvcmUgdXNiY29yZSBzbmRfdGltZXIgdXNiX2NvbW1vbiB0aGlua3BhZF9hY3BpIHRoZXJtYWwg
c25kIHNvdW5kY29yZSBod21vbiByZmtpbGwgYWMgYmF0dGVyeSBldmRldiBwcm9jZXNzb3IgaXB2
Ng0KWzE0NTAzLjQ3NjE4OV0gQ1BVOiAzIFBJRDogMTMzOTggQ29tbTogY2hyb21lIFRhaW50ZWQ6
IEcgICAgICAgIFcgICAgTA0KIDQuMi4zLWdlbnRvbyAjMw0KWzE0NTAzLjQ3NjE5MV0gSGFyZHdh
cmUgbmFtZTogTEVOT1ZPIDI0MzZDVE8vMjQzNkNUTywgQklPUyBHNUVUQTJXVw0KKDIuNjIgKSAw
My8zMS8yMDE1DQpbMTQ1MDMuNDc2MTkyXSB0YXNrOiBmZmZmODgwMGQ2MGI0OTgwIHRpOiBmZmZm
ODgwNmUxNjM0MDAwIHRhc2sudGk6DQpmZmZmODgwNmUxNjM0MDAwDQpbMTQ1MDMuNDc2MTkzXSBS
SVA6IDAwMTA6WzxmZmZmZmZmZjgxMTA1ZmMxPl0gIFs8ZmZmZmZmZmY4MTEwNWZjMT5dDQpxdWV1
ZWRfc3Bpbl9sb2NrX3Nsb3dwYXRoKzB4MTExLzB4MTcwDQpbMTQ1MDMuNDc2MTk4XSBSU1A6IDAw
MTg6ZmZmZjg4MDZlMTYzN2MyMCAgRUZMQUdTOiAwMDAwMDIwMiBbMTQ1MDMuNDc2MTk5XSBSQVg6
IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiBmZmZmODgwODFlNWRiODAwIFJDWDogZmZmZjg4MDgxZTJk
NTUwMCBbMTQ1MDMuNDc2MjAwXSBSRFg6IDAwMDAwMDAwMDAxMDAxMDEgUlNJOiAwMDAwMDAwMDAw
MTAwMDAwIFJESTogZmZmZmZmZmY4MWU2ODRiOCBbMTQ1MDMuNDc2MjAwXSBSQlA6IGZmZmY4ODA4
MWUzZDA0YTggUjA4OiAwMDAwMDAwMDAwMDAwMTAxIFIwOTogMDAwMDAwMDAwMDAwMDBmZiBbMTQ1
MDMuNDc2MjAyXSBSMTA6IDAwMDAwMDAwMDAwMDAwMDIgUjExOiAwMDAwMDAwMDAwMDAwZmIwIFIx
MjogMDAwMDAwMDAwMDAwMDEwMCBbMTQ1MDMuNDc2MjAyXSBSMTM6IDAwMDAwMDAwMDAwMDAwMDAg
UjE0OiBmZmZmZmZmZjgxMTc5ZDA0IFIxNTogZmZmZjg4MDBkNjBiNDk4MCBbMTQ1MDMuNDc2MjAz
XSBGUzogIDAwMDA3ZjViMzkzY2U5MDAoMDAwMCkgR1M6ZmZmZjg4MDgxZTJjMDAwMCgwMDAwKQ0K
a25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWzE0NTAzLjQ3NjIwNF0gQ1M6ICAwMDEwIERTOiAwMDAw
IEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMyBbMTQ1MDMuNDc2MjA1XSBDUjI6IDAwMDAw
YTFlMmI5MWIwMDggQ1IzOiAwMDAwMDAwN2Y0N2ExMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMCBb
MTQ1MDMuNDc2MjA2XSBTdGFjazoNClsxNDUwMy40NzYyMDddICBmZmZmZmZmZjgxMWE3Y2QyIDAw
MDAwMDAwMDAwMDEwMDAgZmZmZjg4MDZlMTYzN2NjMA0KZmZmZmZmZmZhMDAwMDAwMA0KWzE0NTAz
LjQ3NjIwOF0gIDAwMDAwMDAwODExYTgzNmMgMDAwMDAwMDBkNjBiNDk4MCBmZmZmODgwODFlNWRi
ODAwDQpmZmZmODgwNmUxNjM3YzU4DQpbMTQ1MDMuNDc2MjEwXSAgZmZmZjg4MDZlMTYzN2M1OCAw
MDAwMDAwMDAwMDAwMDAyIDAwMDAwMDAwMDAwMDAwMDINCmZmZmY4ODAwZDYwYjQ5ODANClsxNDUw
My40NzYyMTJdIENhbGwgVHJhY2U6DQpbMTQ1MDMuNDc2MjE1XSAgWzxmZmZmZmZmZjgxMWE3Y2Qy
Pl0gPyBfX3B1cmdlX3ZtYXBfYXJlYV9sYXp5KzB4MTEyLzB4MzUwDQpbMTQ1MDMuNDc2MjE3XSAg
WzxmZmZmZmZmZmEwMDAwMDAwPl0gPyAweGZmZmZmZmZmYTAwMDAwMDAgWzE0NTAzLjQ3NjIxOV0g
IFs8ZmZmZmZmZmY4MTFhODAyOT5dID8gdm1fdW5tYXBfYWxpYXNlcysweDExOS8weDEzMCBbMTQ1
MDMuNDc2MjIzXSAgWzxmZmZmZmZmZjgxMDNkNDhlPl0gPyBjaGFuZ2VfcGFnZV9hdHRyX3NldF9j
bHIrMHhiZS8weDQyMA0KWzE0NTAzLjQ3NjIyNV0gIFs8ZmZmZmZmZmY4MTAzZTI4OD5dID8gc2V0
X21lbW9yeV9ybysweDI4LzB4MzAgWzE0NTAzLjQ3NjIyN10gIFs8ZmZmZmZmZmY4MTBjYjFiND5d
ID8gYnBmX2ludF9qaXRfY29tcGlsZSsweDE3NC8weDIyMCBbMTQ1MDMuNDc2MjMwXSAgWzxmZmZm
ZmZmZjgxMTYwZjYxPl0gPyBicGZfcHJvZ19zZWxlY3RfcnVudGltZSsweDExLzB4OTAgWzE0NTAz
LjQ3NjIzM10gIFs8ZmZmZmZmZmY4MTYwMzdkND5dID8gYnBmX3ByZXBhcmVfZmlsdGVyKzB4MzQ0
LzB4MzYwIFsxNDUwMy40NzYyMzZdICBbPGZmZmZmZmZmODExNDJkOTA+XSA/IHByb2Nfd2F0Y2hk
b2dfY3B1bWFzaysweGIwLzB4YjAgWzE0NTAzLjQ3NjIzOF0gIFs8ZmZmZmZmZmY4MTE0MmQ5MD5d
ID8gcHJvY193YXRjaGRvZ19jcHVtYXNrKzB4YjAvMHhiMCBbMTQ1MDMuNDc2MjM5XSAgWzxmZmZm
ZmZmZjgxNjAzYjY4Pl0gPyBicGZfcHJvZ19jcmVhdGVfZnJvbV91c2VyKzB4NjgvMHhhMA0KWzE0
NTAzLjQ3NjI0MV0gIFs8ZmZmZmZmZmY4MTE0MmZhOD5dID8gZG9fc2VjY29tcCsweGQ4LzB4NWYw
IFsxNDUwMy40NzYyNDJdICBbPGZmZmZmZmZmODEwZGYwOTI+XSA/IFN5U19wcmN0bCsweDIyLzB4
M2IwIFsxNDUwMy40NzYyNDVdICBbPGZmZmZmZmZmODE2ODkyZDc+XSA/IGVudHJ5X1NZU0NBTExf
NjRfZmFzdHBhdGgrMHgxMi8weDZhDQpbMTQ1MDMuNDc2MjQ2XSBDb2RlOiAzMCA0OCA5OCA0OCA4
MSBjMiAwMCA1NSAwMSAwMCA0OCAwMyAxNCBjNSBlMCA2MyBjYyA4MSA0OCA4OSAwYSA4YiA0MSAw
OCA4NSBjMCA3NSAwZCBmMyA5MCA4YiA0MSAwOCA4NSBjMCA3NCBmNyBlYiAwMg0KZjMgOTAgOGIg
MTcgPDY2PiA4NSBkMiA3NSBmNyAzOSBmMiA3NSAwZiA4OSBkMCBiZSAwMSAwMCAwMCAwMCBmMCAw
ZiBiMQ0KMzcgMzkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbnRlbCBJc3JhZWwgKDc0KSBMaW1pdGVkCgpUaGlz
IGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBtYXRl
cmlhbCBmb3IKdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIEFueSBy
ZXZpZXcgb3IgZGlzdHJpYnV0aW9uCmJ5IG90aGVycyBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJ
ZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQKcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUg
c2VuZGVyIGFuZCBkZWxldGUgYWxsIGNvcGllcy4K

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1249494

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-10-18 02:40 +0200
Message-ID<qkKaZ-5wh-1@gated-at.bofh.it>
In reply to#1244418
On Mon, Oct 12, 2015 at 12:58:09PM +0200, Jason A. Donenfeld wrote:
> 
> On Oct 12, 2015 8:59 AM, "Avargil, Raanan" <raanan.avargil@intel.com> wrote:
> >
> > Your analysis is correct.
> > Commit 37b12910dd11d9ab969f2c310dc9160b7f3e3405 fixes the lockup issue, and
> according to my last check it is in 4.3-rc5.
> 
> Cool okay.
> But can we please get this patched marked for stable? It should be backported
> to the upcoming 4.2.4.
> 

Now applied, thanks.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web