Re: [GIT pull] CPU hotplug updates for 4.9

From: Bart Van Assche
Date: Wed Mar 08 2017 - 15:12:43 EST


On Wed, 2017-03-08 at 09:25 +0100, Thomas Gleixner wrote:
> Before you proceed with bisecting, could you try Linus head first,
> especially commit:
>
> fa3aa7a54fe6 ("jiffies: Revert bogus conversion of NSEC_PER_SEC to TICK_NSEC")
>
> which fixes: 93825f2ec736 ("jiffies: Reuse TICK_NSEC instead of NSEC_PER_JIFFY")

Hello Thomas,

Sorry but the cpuhp_issue_call() still occurs with Linus' latest tree
(commit ec3b93ae0bf4 / Merge branch 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip).

This morning I discovered that the hang only occurs if I/O AT support is
enabled in the BIOS. I had enabled I/O AT support in the BIOS on February
23rd. With I/O AT support enabled the following warning appears during boot:

WARNING: CPU: 8 PID: 596 at drivers/dma/ioat/dca.c:342 ioat_dca_init+0x185/0x190 [ioatdma]
ioatdma 0000:00:04.0: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA
Call Trace:
dump_stack+0x68/0x93
__warn+0xc6/0xe0
warn_slowpath_fmt_taint+0x42/0x50
ioat_dca_init+0x185/0x190 [ioatdma]
ioat_pci_probe+0xc07/0xf90 [ioatdma]
local_pci_probe+0x1f/0x60
pci_device_probe+0xd1/0x130
driver_probe_device+0x265/0x400
__driver_attach+0xde/0xe0
bus_for_each_dev+0x5d/0x90
driver_attach+0x19/0x20
bus_add_driver+0x16e/0x270
driver_register+0x5b/0xd0
__pci_register_driver+0x58/0x60
ioat_init_module+0x8c/0x1000 [ioatdma]
do_one_initcall+0x3e/0x170
do_init_module+0x5a/0x1ed
load_module+0x2339/0x2a40
SYSC_finit_module+0xbc/0xf0
SyS_finit_module+0x9/0x10
do_syscall_64+0x57/0x140
entry_SYSCALL64_slow_path+0x25/0x25

In contrast with previous tests this morning I have been able to reproduce
this hang with kernel v4.10. So it's not a kernel v4.10 regression. But the
hang did not occur in a test with kernel v4.9.7. I assume this means that
the regression got introduced between the v4.9 and v4.10 kernels.

Bart.