All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
To: lkp@lists.01.org
Subject: Re: [lkp-robot] 9ddf3ebd04 [ 0.004000] BUG: scheduling while atomic: swapper/0/0x00000002
Date: Thu, 12 Apr 2018 08:06:26 -0700	[thread overview]
Message-ID: <20180412150626.GC3948@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180412045706.6tneupzzmux5ucmv@tardis>

[-- Attachment #1: Type: text/plain, Size: 26222 bytes --]

On Thu, Apr 12, 2018 at 12:57:07PM +0800, Boqun Feng wrote:
>  (Cc Paul and Peter)
> 
> On Thu, Apr 12, 2018 at 09:47:10AM +0800, kernel test robot wrote:
> > Greetings,
> > 
> > 0day kernel testing robot got the below dmesg and the first bad commit is
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git arr-rfc-v6-rc1
> > 
> > commit 9ddf3ebd041d33b9de0e63a81e933774787c29d3
> > Author:     Boqun Feng <boqun.feng@gmail.com>
> > AuthorDate: Wed Apr 11 18:29:34 2018 +0800
> > Commit:     Boqun Feng <boqun.feng@gmail.com>
> > CommitDate: Wed Apr 11 19:58:05 2018 +0800
> > 
> >     lockdep/selftest: Add a test case for SRCU
> >     
> >     Since we now could detect deadlock cases for sleepable RCU, a self test
> >     case is added. More other complex scenarios may be added later to
> >     srcu_tests().
> >     
> >     Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> >     Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
> > 
> > 4f30fa8872  rcu: Equip sleepable RCU with lockdep dependency graph checks
> > 9ddf3ebd04  lockdep/selftest: Add a test case for SRCU
> > +------------------------------------------------------+------------+------------+
> > |                                                      | 4f30fa8872 | 9ddf3ebd04 |
> > +------------------------------------------------------+------------+------------+
> > | boot_successes                                       | 22         | 0          |
> > | boot_failures                                        | 0          | 15         |
> > | BUG:scheduling_while_atomic                          | 0          | 15         |
> > | WARNING:at_kernel/locking/lockdep.c:#lock_release    | 0          | 15         |
> > | EIP:lock_release                                     | 0          | 15         |
> > | WARNING:at_kernel/locking/lockdep.c:#lock_unpin_lock | 0          | 15         |
> > | EIP:lock_unpin_lock                                  | 0          | 15         |
> > +------------------------------------------------------+------------+------------+
> > 
> > [    0.004000]   --------------------------------------------------------------------------
> > [    0.004000]   | SRCU tests |
> > [    0.004000]   ---------------
> > [    0.004000]          ABBA read-sync/read-sync:
> > [    0.004000] workqueue: round-robin CPU selection forced, expect performance impact
> > [    0.004000] BUG: scheduling while atomic: swapper/0/0x00000002
> > [    0.004000] 1 lock held by swapper/0:
> > [    0.004000]  #0:  (&srcu_A){.+.+}, at: [<(ptrval)>] srcu_ABBA+0x0/0x100
> > [    0.004000] Modules linked in:
> > [    0.004000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.16.0-00020-g9ddf3eb #1
> > [    0.004000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
> > [    0.004000] Call Trace:
> > [    0.004000]  dump_stack+0x16/0x19
> > [    0.004000]  __schedule_bug+0x67/0x90
> > [    0.004000]  __schedule+0x4ac/0x580
> > [    0.004000]  ? sched_clock+0x9/0x10
> > [    0.004000]  schedule+0x2d/0x80
> > [    0.004000]  schedule_timeout+0x155/0x1f0
> > [    0.004000]  ? mark_held_locks+0x74/0xa0
> > [    0.004000]  ? _raw_spin_unlock_irq+0x22/0x40
> > [    0.004000]  ? trace_hardirqs_on_caller+0xca/0x1d0
> > [    0.004000]  wait_for_common+0xff/0x1b0
> > [    0.004000]  ? wake_up_q+0x60/0x60
> > [    0.004000]  wait_for_completion+0x12/0x20
> > [    0.004000]  synchronize_srcu+0x83/0xa0
> > [    0.004000]  ? srcu_drive_gp+0x140/0x140
> > [    0.004000]  ? rcu_read_lock_held+0x50/0x50
> > [    0.004000]  ? wait_for_common+0x3b/0x1b0
> > [    0.004000]  ? ww_test_normal+0x270/0x270
> > [    0.004000]  srcu_ABBA+0x5b/0x100
> > [    0.004000]  ? ww_test_normal+0x270/0x270
> > [    0.004000]  dotest+0x2b/0x572
> > [    0.004000]  locking_selftest+0x29b6/0x2a50
> > [    0.004000]  start_kernel+0x321/0x47a
> > [    0.004000]  i386_start_kernel+0xb5/0xcd
> > [    0.004000]  startup_32_smp+0x164/0x168
> 
> So we met this problem because:
> 
> a)	all the lock selftest cases are called with preemption off,
> 	because locking_selftest() is called in start_kernel() with
> 	preemption off. (Note that the preemption off is actually fine
> 	for the selftest because the whole selftest is single-threaded,
> 	so all the acquisitions of locks will succeed in fast path, so
> 	no block. And if we hit a self deadlock, which will trigger a
> 	real block, the lockdep should report it, and we skip to the
> 	next test case with preempt count recoverd)
> 
> and
> 
> b)	we do a schedule() in srcu_ABBA() because we call
> 	synchronize_srcu(), note that SMP=n, so means we hit this for
> 	tiny SRCU. And I don't think we have a similar problem for tree
> 	SRCU.
> 
> So the problem is basically caused by an unconditional
> wait_for_completion() in tiny SRCU, which I think could be fixed by
> adding the rcu_scheduler_state check as the same for tree SRCU, like:
> 
> 	diff --git a/kernel/rcu/srcutiny.c b/kernel/rcu/srcutiny.c
> 	index bc89cb48d800..21f4765ef8ee 100644
> 	--- a/kernel/rcu/srcutiny.c
> 	+++ b/kernel/rcu/srcutiny.c
> 	@@ -190,6 +190,9 @@ void synchronize_srcu(struct srcu_struct *sp)
> 	 
> 		srcu_lock_sync(&sp->dep_map);
> 	 
> 	+	if (rcu_scheduler_active == RCU_SCHEDULER_INACTIVE)
> 	+		return;
> 	+
> 		init_rcu_head_on_stack(&rs.head);
> 		init_completion(&rs.completion);
> 		call_srcu(sp, &rs.head, wakeme_after_rcu);
> 
> I think this not only fixes the problem here, but also is the right way
> to do because for tiny SRCU, synchronize_srcu() should be a no-op if
> rcu scheduler is inactive, right?

Makes sense to me.

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> Thoughts?
> 
> Regards,
> Boqun
> 
> 
> > [    0.004000] ------------[ cut here ]------------
> > [    0.004000] releasing a pinned lock
> > [    0.004000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:3961 lock_release+0x294/0x2d0
> > [    0.004000] Modules linked in:
> > [    0.004000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W        4.16.0-00020-g9ddf3eb #1
> > [    0.004000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
> > [    0.004000] EIP: lock_release+0x294/0x2d0
> > [    0.004000] EFLAGS: 00210096 CPU: 0
> > [    0.004000] EAX: 00000017 EBX: c1d4f4c0 ECX: c1d4f4c0 EDX: 00000120
> > [    0.004000] ESI: 00000002 EDI: c1d4f684 EBP: c1d41db4 ESP: c1d41d88
> > [    0.004000]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
> > [    0.004000] CR0: 80050033 CR2: ffffffff CR3: 02002000 CR4: 000406b0
> > [    0.004000] Call Trace:
> > [    0.004000]  ? dequeue_task_idle+0xe/0x30
> > [    0.004000]  _raw_spin_unlock_irq+0x16/0x40
> > [    0.004000]  dequeue_task_idle+0xe/0x30
> > [    0.004000]  deactivate_task+0x3e/0x60
> > [    0.004000]  __schedule+0x2af/0x580
> > [    0.004000]  ? sched_clock+0x9/0x10
> > [    0.004000]  schedule+0x2d/0x80
> > [    0.004000]  schedule_timeout+0x155/0x1f0
> > [    0.004000]  ? mark_held_locks+0x74/0xa0
> > [    0.004000]  ? _raw_spin_unlock_irq+0x22/0x40
> > [    0.004000]  ? trace_hardirqs_on_caller+0xca/0x1d0
> > [    0.004000]  wait_for_common+0xff/0x1b0
> > [    0.004000]  ? wake_up_q+0x60/0x60
> > [    0.004000]  wait_for_completion+0x12/0x20
> > [    0.004000]  synchronize_srcu+0x83/0xa0
> > [    0.004000]  ? srcu_drive_gp+0x140/0x140
> > [    0.004000]  ? rcu_read_lock_held+0x50/0x50
> > [    0.004000]  ? wait_for_common+0x3b/0x1b0
> > [    0.004000]  ? ww_test_normal+0x270/0x270
> > [    0.004000]  srcu_ABBA+0x5b/0x100
> > [    0.004000]  ? ww_test_normal+0x270/0x270
> > [    0.004000]  dotest+0x2b/0x572
> > [    0.004000]  locking_selftest+0x29b6/0x2a50
> > [    0.004000]  start_kernel+0x321/0x47a
> > [    0.004000]  i386_start_kernel+0xb5/0xcd
> > [    0.004000]  startup_32_smp+0x164/0x168
> > [    0.004000] Code: 04 d3 c1 c2 c1 c7 04 24 77 f6 c0 c1 e8 16 bf fc ff 0f 0b 8b 45 dc e9 49 ff ff ff 8d 74 26 00 c7 04 24 14 cd c1 c1 e8 fc be fc ff <0f> 0b e9 06 fe ff ff 89 c1 c1 e1 04 c1 e0 08 29 c8 05 b0 a5 41
> > [    0.004000] ---[ end trace bb6731d7f8bef4b6 ]---
> > [    0.004000] bad: scheduling from the idle thread!
> > 
> >                                                           # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
> > git bisect start 731a8d48294ebee3dfa007533ff133a157364c39 0adb32858b0bddf4ada5f364a84ed60b196dbcda --
> > git bisect good 151cfecc709cae8004857cf4d3969de64b99dfc3  # 01:09  G     11     0    7   7  Merge 'linux-review/Jia-Ju-Bai/net-samsung-sxgbe-Replace-mdelay-with-usleep_range-in-sxgbe_sw_reset/20180411-225900' into devel-catchup-201804112323
> > git bisect  bad 0b02457602420fd0e2c34b05eec23c86f9296779  # 01:21  B      0    11   25   0  Merge 'powerpc/merge' into devel-catchup-201804112323
> > git bisect  bad 795173a818d1d584db3d94871f1d3ad39894b4cf  # 01:46  B      0    11   29   4  Merge 'linux-review/Xin-Long/sctp-do-not-check-port-in-sctp_inet6_cmp_addr/20180411-223639' into devel-catchup-201804112323
> > git bisect  bad 2a0a68336ae9a14f92fa549cd371b085d2b81974  # 01:58  B      0     8   25   3  Merge 'boqun/arr-rfc-v6-rc1' into devel-catchup-201804112323
> > git bisect good 4d9461b4080f42b26e61adfa1478ad8160e9b52f  # 02:16  G     11     0    4   4  lockdep: Adjust check_redundant() for recursive read change
> > git bisect good 51d4cdb55dfa83318c3e5f34d13ec5d7cffc9b11  # 02:28  G     10     0   10  10  lockdep/selftest: Unleash irq_read_recursion2 and add more
> > git bisect good 6120c8e00676b55c51721bd1c5c6e4fe004bb1b2  # 02:40  G     11     0    1   1  MAINTAINERS: Add myself as a LOCKING PRIMITIVES reviewer
> > git bisect  bad 9ddf3ebd041d33b9de0e63a81e933774787c29d3  # 02:52  B      0    11   27   2  lockdep/selftest: Add a test case for SRCU
> > git bisect good 4f30fa88728f28578e29e43cc7a78a29635d9981  # 03:12  G     11     0    6   6  rcu: Equip sleepable RCU with lockdep dependency graph checks
> > # first bad commit: [9ddf3ebd041d33b9de0e63a81e933774787c29d3] lockdep/selftest: Add a test case for SRCU
> > git bisect good 4f30fa88728f28578e29e43cc7a78a29635d9981  # 03:15  G     30     0   12  18  rcu: Equip sleepable RCU with lockdep dependency graph checks
> > # extra tests with debug options
> > git bisect  bad 9ddf3ebd041d33b9de0e63a81e933774787c29d3  # 03:29  B      0     1   15   0  lockdep/selftest: Add a test case for SRCU
> > # extra tests on HEAD of linux-devel/devel-catchup-201804112323
> > git bisect  bad 731a8d48294ebee3dfa007533ff133a157364c39  # 03:34  B      0   455  472   0  0day head guard for 'devel-catchup-201804112323'
> > # extra tests on tree/branch boqun/arr-rfc-v6-rc1
> > git bisect  bad 9ddf3ebd041d33b9de0e63a81e933774787c29d3  # 03:36  B      0    15   29   0  lockdep/selftest: Add a test case for SRCU
> > # extra tests with first bad commit reverted
> > git bisect good c7e1c792bddecd67873582dc6c3c7a6883ead09c  # 03:49  G     10     0    7   7  Revert "lockdep/selftest: Add a test case for SRCU"
> > 
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/lkp                          Intel Corporation
> 
> 
> 
> > #!/bin/bash
> > 
> > kernel=$1
> > 
> > kvm=(
> > 	qemu-system-x86_64
> > 	-enable-kvm
> > 	-cpu Haswell,+smep,+smap
> > 	-kernel $kernel
> > 	-m 256
> > 	-smp 1
> > 	-device e1000,netdev=net0
> > 	-netdev user,id=net0
> > 	-boot order=nc
> > 	-no-reboot
> > 	-watchdog i6300esb
> > 	-watchdog-action debug
> > 	-rtc base=localtime
> > 	-serial stdio
> > 	-display none
> > 	-monitor null
> > )
> > 
> > append=(
> > 	root=/dev/ram0
> > 	hung_task_panic=1
> > 	debug
> > 	apic=debug
> > 	sysrq_always_enabled
> > 	rcupdate.rcu_cpu_stall_timeout=100
> > 	net.ifnames=0
> > 	printk.devkmsg=on
> > 	panic=-1
> > 	softlockup_panic=1
> > 	nmi_watchdog=panic
> > 	oops=panic
> > 	load_ramdisk=2
> > 	prompt_ramdisk=0
> > 	drbd.minor_count=8
> > 	systemd.log_level=err
> > 	ignore_loglevel
> > 	console=tty0
> > 	earlyprintk=ttyS0,115200
> > 	console=ttyS0,115200
> > 	vga=normal
> > 	rw
> > 	drbd.minor_count=8
> > 	rcuperf.shutdown=0
> > )
> > 
> > "${kvm[@]}" -append "${append[*]}"
> 
> > #
> > # Automatically generated file; DO NOT EDIT.
> > # Linux/i386 4.16.0 Kernel Configuration
> > #
> > # CONFIG_64BIT is not set
> > CONFIG_X86_32=y
> > CONFIG_X86=y
> > CONFIG_INSTRUCTION_DECODER=y
> > CONFIG_OUTPUT_FORMAT="elf32-i386"
> > CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
> > CONFIG_LOCKDEP_SUPPORT=y
> > CONFIG_STACKTRACE_SUPPORT=y
> > CONFIG_MMU=y
> > CONFIG_ARCH_MMAP_RND_BITS_MIN=8
> > CONFIG_ARCH_MMAP_RND_BITS_MAX=16
> > CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
> > CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
> > CONFIG_NEED_DMA_MAP_STATE=y
> > CONFIG_NEED_SG_DMA_LENGTH=y
> > CONFIG_GENERIC_ISA_DMA=y
> > CONFIG_GENERIC_BUG=y
> > CONFIG_GENERIC_HWEIGHT=y
> > CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> > CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> > CONFIG_GENERIC_CALIBRATE_DELAY=y
> > CONFIG_ARCH_HAS_CPU_RELAX=y
> > CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
> > CONFIG_HAVE_SETUP_PER_CPU_AREA=y
> > CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
> > CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
> > CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> > CONFIG_ARCH_SUSPEND_POSSIBLE=y
> > CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
> > CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
> > CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
> > CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
> > CONFIG_ARCH_SUPPORTS_UPROBES=y
> > CONFIG_FIX_EARLYCON_MEM=y
> > CONFIG_PGTABLE_LEVELS=3
> > CONFIG_IRQ_WORK=y
> > CONFIG_BUILDTIME_EXTABLE_SORT=y
> > CONFIG_THREAD_INFO_IN_TASK=y
> > 
> > #
> > # General setup
> > #
> > CONFIG_BROKEN_ON_SMP=y
> > CONFIG_INIT_ENV_ARG_LIMIT=32
> > CONFIG_CROSS_COMPILE=""
> > # CONFIG_COMPILE_TEST is not set
> > CONFIG_LOCALVERSION=""
> > CONFIG_LOCALVERSION_AUTO=y
> > CONFIG_HAVE_KERNEL_GZIP=y
> > CONFIG_HAVE_KERNEL_BZIP2=y
> > CONFIG_HAVE_KERNEL_LZMA=y
> > CONFIG_HAVE_KERNEL_XZ=y
> > CONFIG_HAVE_KERNEL_LZO=y
> > CONFIG_HAVE_KERNEL_LZ4=y
> > # CONFIG_KERNEL_GZIP is not set
> > # CONFIG_KERNEL_BZIP2 is not set
> > # CONFIG_KERNEL_LZMA is not set
> > # CONFIG_KERNEL_XZ is not set
> > CONFIG_KERNEL_LZO=y
> > # CONFIG_KERNEL_LZ4 is not set
> > CONFIG_DEFAULT_HOSTNAME="(none)"
> > CONFIG_SWAP=y
> > CONFIG_SYSVIPC=y
> > CONFIG_SYSVIPC_SYSCTL=y
> > # CONFIG_POSIX_MQUEUE is not set
> > # CONFIG_CROSS_MEMORY_ATTACH is not set
> > CONFIG_USELIB=y
> > CONFIG_AUDIT=y
> > CONFIG_HAVE_ARCH_AUDITSYSCALL=y
> > CONFIG_AUDITSYSCALL=y
> > CONFIG_AUDIT_WATCH=y
> > CONFIG_AUDIT_TREE=y
> > 
> > #
> > # IRQ subsystem
> > #
> > CONFIG_GENERIC_IRQ_PROBE=y
> > CONFIG_GENERIC_IRQ_SHOW=y
> > CONFIG_GENERIC_IRQ_CHIP=y
> > CONFIG_IRQ_DOMAIN=y
> > CONFIG_IRQ_SIM=y
> > CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
> > CONFIG_IRQ_FORCED_THREADING=y
> > CONFIG_SPARSE_IRQ=y
> > CONFIG_GENERIC_IRQ_DEBUGFS=y
> > CONFIG_CLOCKSOURCE_WATCHDOG=y
> > CONFIG_ARCH_CLOCKSOURCE_DATA=y
> > CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
> > CONFIG_GENERIC_TIME_VSYSCALL=y
> > CONFIG_GENERIC_CLOCKEVENTS=y
> > CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
> > CONFIG_GENERIC_CMOS_UPDATE=y
> > 
> > #
> > # Timers subsystem
> > #
> > CONFIG_TICK_ONESHOT=y
> > CONFIG_HZ_PERIODIC=y
> > # CONFIG_NO_HZ_IDLE is not set
> > CONFIG_NO_HZ=y
> > CONFIG_HIGH_RES_TIMERS=y
> > 
> > #
> > # CPU/Task time and stats accounting
> > #
> > CONFIG_TICK_CPU_ACCOUNTING=y
> > CONFIG_IRQ_TIME_ACCOUNTING=y
> > # CONFIG_BSD_PROCESS_ACCT is not set
> > # CONFIG_TASKSTATS is not set
> > 
> > #
> > # RCU Subsystem
> > #
> > CONFIG_TINY_RCU=y
> > CONFIG_RCU_EXPERT=y
> > CONFIG_SRCU=y
> > CONFIG_TINY_SRCU=y
> > CONFIG_TASKS_RCU=y
> > # CONFIG_RCU_STALL_COMMON is not set
> > # CONFIG_RCU_NEED_SEGCBLIST is not set
> > CONFIG_BUILD_BIN2C=y
> > CONFIG_IKCONFIG=y
> > CONFIG_IKCONFIG_PROC=y
> > CONFIG_LOG_BUF_SHIFT=20
> > CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
> > CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
> > CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
> > CONFIG_CGROUPS=y
> > # CONFIG_MEMCG is not set
> > # CONFIG_BLK_CGROUP is not set
> > # CONFIG_CGROUP_SCHED is not set
> > # CONFIG_CGROUP_PIDS is not set
> > # CONFIG_CGROUP_RDMA is not set
> > # CONFIG_CGROUP_FREEZER is not set
> > # CONFIG_CGROUP_HUGETLB is not set
> > # CONFIG_CGROUP_DEVICE is not set
> > # CONFIG_CGROUP_CPUACCT is not set
> > # CONFIG_CGROUP_PERF is not set
> > # CONFIG_CGROUP_BPF is not set
> > # CONFIG_CGROUP_DEBUG is not set
> > # CONFIG_SOCK_CGROUP_DATA is not set
> > CONFIG_NAMESPACES=y
> > CONFIG_UTS_NS=y
> > # CONFIG_IPC_NS is not set
> > # CONFIG_USER_NS is not set
> > # CONFIG_PID_NS is not set
> > # CONFIG_NET_NS is not set
> > # CONFIG_SCHED_AUTOGROUP is not set
> > # CONFIG_SYSFS_DEPRECATED is not set
> > CONFIG_RELAY=y
> > CONFIG_BLK_DEV_INITRD=y
> > CONFIG_INITRAMFS_SOURCE=""
> > CONFIG_RD_GZIP=y
> > CONFIG_RD_BZIP2=y
> > CONFIG_RD_LZMA=y
> > CONFIG_RD_XZ=y
> > CONFIG_RD_LZO=y
> > CONFIG_RD_LZ4=y
> > CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
> > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> > CONFIG_SYSCTL=y
> > CONFIG_ANON_INODES=y
> > CONFIG_HAVE_UID16=y
> > CONFIG_SYSCTL_EXCEPTION_TRACE=y
> > CONFIG_HAVE_PCSPKR_PLATFORM=y
> > CONFIG_BPF=y
> > # CONFIG_EXPERT is not set
> > CONFIG_UID16=y
> > CONFIG_MULTIUSER=y
> > CONFIG_SGETMASK_SYSCALL=y
> > CONFIG_SYSFS_SYSCALL=y
> > # CONFIG_SYSCTL_SYSCALL is not set
> > CONFIG_FHANDLE=y
> > CONFIG_POSIX_TIMERS=y
> > CONFIG_PRINTK=y
> > CONFIG_PRINTK_NMI=y
> > CONFIG_BUG=y
> > CONFIG_ELF_CORE=y
> > CONFIG_PCSPKR_PLATFORM=y
> > CONFIG_BASE_FULL=y
> > CONFIG_FUTEX=y
> > CONFIG_FUTEX_PI=y
> > CONFIG_EPOLL=y
> > CONFIG_SIGNALFD=y
> > CONFIG_TIMERFD=y
> > CONFIG_EVENTFD=y
> > CONFIG_SHMEM=y
> > CONFIG_AIO=y
> > CONFIG_ADVISE_SYSCALLS=y
> > CONFIG_MEMBARRIER=y
> > # CONFIG_CHECKPOINT_RESTORE is not set
> > CONFIG_KALLSYMS=y
> > CONFIG_KALLSYMS_ALL=y
> > # CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
> > CONFIG_KALLSYMS_BASE_RELATIVE=y
> > CONFIG_BPF_SYSCALL=y
> > CONFIG_USERFAULTFD=y
> > CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
> > # CONFIG_EMBEDDED is not set
> > CONFIG_HAVE_PERF_EVENTS=y
> > CONFIG_PC104=y
> > 
> > #
> > # Kernel Performance Events And Counters
> > #
> > CONFIG_PERF_EVENTS=y
> > # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
> > CONFIG_VM_EVENT_COUNTERS=y
> > CONFIG_SLUB_DEBUG=y
> > CONFIG_COMPAT_BRK=y
> > # CONFIG_SLAB is not set
> > CONFIG_SLUB=y
> > # CONFIG_SLAB_MERGE_DEFAULT is not set
> > CONFIG_SLAB_FREELIST_RANDOM=y
> > CONFIG_SLAB_FREELIST_HARDENED=y
> > # CONFIG_SYSTEM_DATA_VERIFICATION is not set
> > CONFIG_PROFILING=y
> > CONFIG_CRASH_CORE=y
> > CONFIG_KEXEC_CORE=y
> > CONFIG_OPROFILE=y
> > CONFIG_OPROFILE_EVENT_MULTIPLEX=y
> > CONFIG_HAVE_OPROFILE=y
> > CONFIG_OPROFILE_NMI_TIMER=y
> > # CONFIG_KPROBES is not set
> > CONFIG_JUMP_LABEL=y
> > CONFIG_STATIC_KEYS_SELFTEST=y
> > # CONFIG_UPROBES is not set
> > # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
> > CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
> > CONFIG_ARCH_USE_BUILTIN_BSWAP=y
> > CONFIG_HAVE_IOREMAP_PROT=y
> > CONFIG_HAVE_KPROBES=y
> > CONFIG_HAVE_KRETPROBES=y
> > CONFIG_HAVE_OPTPROBES=y
> > CONFIG_HAVE_KPROBES_ON_FTRACE=y
> > CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
> > CONFIG_HAVE_NMI=y
> > CONFIG_HAVE_ARCH_TRACEHOOK=y
> > CONFIG_HAVE_DMA_CONTIGUOUS=y
> > CONFIG_GENERIC_SMP_IDLE_THREAD=y
> > CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
> > CONFIG_ARCH_HAS_SET_MEMORY=y
> > CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
> > CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
> > CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
> > CONFIG_HAVE_CLK=y
> > CONFIG_HAVE_DMA_API_DEBUG=y
> > CONFIG_HAVE_HW_BREAKPOINT=y
> > CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
> > CONFIG_HAVE_USER_RETURN_NOTIFIER=y
> > CONFIG_HAVE_PERF_EVENTS_NMI=y
> > CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
> > CONFIG_HAVE_PERF_REGS=y
> > CONFIG_HAVE_PERF_USER_STACK_DUMP=y
> > CONFIG_HAVE_ARCH_JUMP_LABEL=y
> > CONFIG_HAVE_RCU_TABLE_FREE=y
> > CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
> > CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
> > CONFIG_HAVE_CMPXCHG_LOCAL=y
> > CONFIG_HAVE_CMPXCHG_DOUBLE=y
> > CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
> > CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
> > CONFIG_HAVE_GCC_PLUGINS=y
> > CONFIG_GCC_PLUGINS=y
> > CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
> > CONFIG_GCC_PLUGIN_STRUCTLEAK=y
> > # CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
> > # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
> > CONFIG_GCC_PLUGIN_RANDSTRUCT=y
> > CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y
> > CONFIG_HAVE_CC_STACKPROTECTOR=y
> > # CONFIG_CC_STACKPROTECTOR_NONE is not set
> > # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
> > CONFIG_CC_STACKPROTECTOR_STRONG=y
> > # CONFIG_CC_STACKPROTECTOR_AUTO is not set
> > CONFIG_THIN_ARCHIVES=y
> > CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
> > CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
> > CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
> > CONFIG_HAVE_ARCH_HUGE_VMAP=y
> > CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
> > CONFIG_MODULES_USE_ELF_REL=y
> > CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
> > CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
> > CONFIG_HAVE_EXIT_THREAD=y
> > CONFIG_ARCH_MMAP_RND_BITS=8
> > CONFIG_HAVE_COPY_THREAD_TLS=y
> > # CONFIG_HAVE_ARCH_HASH is not set
> > # CONFIG_ISA_BUS_API is not set
> > CONFIG_CLONE_BACKWARDS=y
> > CONFIG_OLD_SIGSUSPEND3=y
> > CONFIG_OLD_SIGACTION=y
> > # CONFIG_CPU_NO_EFFICIENT_FFS is not set
> > # CONFIG_HAVE_ARCH_VMAP_STACK is not set
> > # CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
> > # CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
> > CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
> > CONFIG_STRICT_KERNEL_RWX=y
> > CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
> > CONFIG_STRICT_MODULE_RWX=y
> > CONFIG_ARCH_HAS_PHYS_TO_DMA=y
> > CONFIG_ARCH_HAS_REFCOUNT=y
> > # CONFIG_REFCOUNT_FULL is not set
> > 
> > #
> > # GCOV-based kernel profiling
> > #
> > # CONFIG_GCOV_KERNEL is not set
> > CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
> > CONFIG_HAVE_GENERIC_DMA_COHERENT=y
> > CONFIG_RT_MUTEXES=y
> > CONFIG_BASE_SMALL=0
> > CONFIG_MODULES=y
> > CONFIG_MODULE_FORCE_LOAD=y
> > # CONFIG_MODULE_UNLOAD is not set
> > CONFIG_MODVERSIONS=y
> > # CONFIG_MODULE_SRCVERSION_ALL is not set
> > # CONFIG_MODULE_SIG is not set
> > CONFIG_MODULE_COMPRESS=y
> > # CONFIG_MODULE_COMPRESS_GZIP is not set
> > CONFIG_MODULE_COMPRESS_XZ=y
> > CONFIG_MODULES_TREE_LOOKUP=y
> > CONFIG_BLOCK=y
> > # CONFIG_LBDAF is not set
> > CONFIG_BLK_SCSI_REQUEST=y
> > CONFIG_BLK_DEV_BSG=y
> > CONFIG_BLK_DEV_BSGLIB=y
> > CONFIG_BLK_DEV_INTEGRITY=y
> > CONFIG_BLK_DEV_ZONED=y
> > # CONFIG_BLK_CMDLINE_PARSER is not set
> > CONFIG_BLK_WBT=y
> > CONFIG_BLK_WBT_SQ=y
> > # CONFIG_BLK_WBT_MQ is not set
> > CONFIG_BLK_DEBUG_FS=y
> > CONFIG_BLK_SED_OPAL=y
> > 
> > #
> > # Partition Types
> > #
> > # CONFIG_PARTITION_ADVANCED is not set
> > CONFIG_AMIGA_PARTITION=y
> > CONFIG_MSDOS_PARTITION=y
> > CONFIG_EFI_PARTITION=y
> > CONFIG_BLK_MQ_PCI=y
> > CONFIG_BLK_MQ_VIRTIO=y
> > 
> > #
> > # IO Schedulers
> > #
> > CONFIG_IOSCHED_NOOP=y
> > CONFIG_IOSCHED_DEADLINE=y
> > # CONFIG_IOSCHED_CFQ is not set
> > CONFIG_DEFAULT_DEADLINE=y
> > # CONFIG_DEFAULT_NOOP is not set
> > CONFIG_DEFAULT_IOSCHED="deadline"
> > CONFIG_MQ_IOSCHED_DEADLINE=m
> > # CONFIG_MQ_IOSCHED_KYBER is not set
> > # CONFIG_IOSCHED_BFQ is not set
> > CONFIG_ASN1=y
> > CONFIG_UNINLINE_SPIN_UNLOCK=y
> > CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
> > CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
> > CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
> > CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
> > # CONFIG_FREEZER is not set
> > 
> > #
> > # Processor type and features
> > #
> > CONFIG_ZONE_DMA=y
> > # CONFIG_SMP is not set
> > CONFIG_X86_FEATURE_NAMES=y
> > CONFIG_X86_FAST_FEATURE_TESTS=y
> > # CONFIG_GOLDFISH is not set
> > CONFIG_RETPOLINE=y
> > CONFIG_INTEL_RDT=y
> > # CONFIG_X86_EXTENDED_PLATFORM is not set
> > CONFIG_X86_INTEL_LPSS=y
> > # CONFIG_X86_AMD_PLATFORM_DEVICE is not set
> > CONFIG_IOSF_MBI=y
> > CONFIG_IOSF_MBI_DEBUG=y
> > CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
> > CONFIG_X86_32_IRIS=m
> > # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
> > CONFIG_HYPERVISOR_GUEST=y
> > CONFIG_PARAVIRT=y
> > # CONFIG_PARAVIRT_DEBUG is not set
> > CONFIG_KVM_GUEST=y
> > # CONFIG_KVM_DEBUG_FS is not set
> > # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
> > CONFIG_PARAVIRT_CLOCK=y
> > CONFIG_NO_BOOTMEM=y
> > # CONFIG_M486 is not set
> > # CONFIG_M586 is not set
> > # CONFIG_M586TSC is not set
> > # CONFIG_M586MMX is not set
> > # CONFIG_M686 is not set
> > CONFIG_MPENTIUMII=y
> > # CONFIG_MPENTIUMIII is not set
> > # CONFIG_MPENTIUMM is not set
> > # CONFIG_MPENTIUM4 is not set
> > # CONFIG_MK6 is not set
> > # CONFIG_MK7 is not set
> > # CONFIG_MK8 is not set
> > # CONFIG_MCRUSOE is not set
> > # CONFIG_MEFFICEON is not set
> > # CONFIG_MWINCHIPC6 is not set
> > # CONFIG_MWINCHIP3D is not set
> > # CONFIG_MELAN is not set
> > # CONFIG_MGEODEGX1 is not set
> > # CONFIG_MGEODE_LX is not set
> > # CONFIG_MCYRIXIII is not set
> > # CONFIG_MVIAC3_2 is not set
> > # CONFIG_MVIAC7 is not set
> > # CONFIG_MCORE2 is not set
> > # CONFIG_MATOM is not set
> > # CONFIG_X86_GENERIC is not set
> > CONFIG_X86_INTERNODE_CACHE_SHIFT=5
> > CONFIG_X86_L1_CACHE_SHIFT=5
> > CONFIG_X86_INTEL_USERCOPY=y
> > CONFIG_X86_USE_PPRO_CHECKSUM=y
> > CONFIG_X86_TSC=y
> > CONFIG_X86_CMPXCHG64=y
> > CONFIG_X86_CMOV=y
> > CONFIG_X86_MINIMUM_CPU_FAMILY=6
> > CONFIG_X86_DEBUGCTLMSR=y
> > CONFIG_CPU_SUP_INTEL=y
> > CONFIG_CPU_SUP_AMD=y
> > CONFIG_CPU_SUP_CENTAUR=y
> > CONFIG_CPU_SUP_TRANSMETA_32=y
> > CONFIG_HPET_TIMER=y
> > CONFIG_HPET_EMULATE_RTC=y
> > CONFIG_DMI=y
> > CONFIG_SWIOTLB=y
> > CONFIG_IOMMU_HELPER=y
> > CONFIG_NR_CPUS_RANGE_BEGIN=1
> > CONFIG_NR_CPUS_RANGE_END=1
> > CONFIG_NR_CPUS_DEFAULT=1
> > CONFIG_NR_CPUS=1
> > # CONFIG_PREEMPT_NONE is not set
> > CONFIG_PREEMPT_VOLUNTARY=y
> > # CONFIG_PREEMPT is not set
> > CONFIG_PREEMPT_COUNT=y
> [...]



      parent reply	other threads:[~2018-04-12 15:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-12  1:47 [lkp-robot] 9ddf3ebd04 [ 0.004000] BUG: scheduling while atomic: swapper/0/0x00000002 kernel test robot
2018-04-12  4:57 ` Boqun Feng
2018-04-12 12:19   ` Peter Zijlstra
2018-04-12 12:29     ` Boqun Feng
2018-04-12 15:06   ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180412150626.GC3948@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=lkp@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.