Re: [LKP] [rcu] kernel BUG at include/linux/pagemap.h:149!
by Frederic Weisbecker
On Fri, Sep 11, 2015 at 10:19:47AM +0800, Boqun Feng wrote:
> Subject: [PATCH 01/27] rcu: Don't disable preemption for Tiny and Tree RCU
> readers
>
> Because preempt_disable() maps to barrier() for non-debug builds,
> it forces the compiler to spill and reload registers. Because Tree
> RCU and Tiny RCU now only appear in CONFIG_PREEMPT=n builds, these
> barrier() instances generate needless extra code for each instance of
> rcu_read_lock() and rcu_read_unlock(). This extra code slows down Tree
> RCU and bloats Tiny RCU.
>
> This commit therefore removes the preempt_disable() and preempt_enable()
> from the non-preemptible implementations of __rcu_read_lock() and
> __rcu_read_unlock(), respectively.
>
> For debug purposes, preempt_disable() and preempt_enable() are still
> kept if CONFIG_PREEMPT_COUNT=y, which makes the detection of sleeping
> inside atomic sections still work in non-preemptible kernels.
>
> Signed-off-by: Boqun Feng <boqun.feng(a)gmail.com>
> Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
> ---
> include/linux/rcupdate.h | 6 ++++--
> include/linux/rcutiny.h | 1 +
> kernel/rcu/tree.c | 9 +++++++++
> 3 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index d63bb77..6c3cece 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -297,12 +297,14 @@ void synchronize_rcu(void);
>
> static inline void __rcu_read_lock(void)
> {
> - preempt_disable();
> + if (IS_ENABLED(CONFIG_PREEMPT_COUNT))
> + preempt_disable();
preempt_disable() is a no-op when !CONFIG_PREEMPT_COUNT, right?
Or rather it's a barrier(), which is anyway implied by rcu_read_lock().
So perhaps we can get rid of the IS_ENABLED() check?
1 year, 8 months
[lkp-robot] [fs/locks] 52306e882f: stress-ng.lockofd.ops_per_sec -11% regression
by kernel test robot
Greeting,
FYI, we noticed a -11% regression of stress-ng.lockofd.ops_per_sec due to commit:
commit: 52306e882f77d3fd73f91435c41373d634acc5d2 ("fs/locks: Use allocation rather than the stack in fcntl_getlk()")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: stress-ng
on test machine: 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 128G memory
with following parameters:
testtime: 1s
class: filesystem
cpufreq_governor: performance
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
testcase/path_params/tbox_group/run: stress-ng/1s-filesystem-performance/lkp-bdw-ep6
v4.13-rc1 52306e882f77d3fd73f91435c4
---------------- --------------------------
%stddev change %stddev
\ | \
1.219e+08 -11% 1.09e+08 stress-ng.lockofd.ops_per_sec
1.229e+08 -10% 1.103e+08 stress-ng.locka.ops_per_sec
1.233e+08 -10% 1.105e+08 stress-ng.locka.ops
1.223e+08 -11% 1.093e+08 stress-ng.lockofd.ops
1061237 10% 1168476 stress-ng.eventfd.ops
1061205 10% 1168414 stress-ng.eventfd.ops_per_sec
2913174 9% 3163165 stress-ng.time.voluntary_context_switches
89.90 -4% 86.58 stress-ng.time.user_time
26510 -6% 24822 stress-ng.io.ops
26489 -6% 24798 stress-ng.io.ops_per_sec
885499 ± 14% 18% 1042236 perf-stat.cpu-migrations
2.537e+08 10% 2.783e+08 perf-stat.node-store-misses
1067830 ± 4% 8% 1154877 ± 3% perf-stat.page-faults
5384755 ± 4% 7% 5747689 perf-stat.context-switches
32.28 7% 34.42 ± 3% perf-stat.node-store-miss-rate%
12245 ±110% -7e+03 5367 ± 29% latency_stats.avg.call_usermodehelper_exec.__request_module.get_fs_type.do_mount.SyS_mount.entry_SYSCALL_64_fastpath
311261 ±173% -3e+05 11702 ±100% latency_stats.avg.tty_release_struct.tty_release.__fput.____fput.task_work_run.exit_to_usermode_loop.syscall_return_slowpath.entry_SYSCALL_64_fastpath
1472 ± 60% 4e+03 5144 ± 97% latency_stats.max.sync_inodes_sb.sync_inodes_one_sb.iterate_supers.sys_sync.entry_SYSCALL_64_fastpath
225 ± 39% 3e+03 3698 ±132% latency_stats.max.rpc_wait_bit_killable.__rpc_wait_for_completion_task.nfs4_do_close.[nfsv4].__nfs4_close.[nfsv4].nfs4_close_sync.[nfsv4].nfs4_close_context.[nfsv4].__put_nfs_open_context.nfs_file_clear_open_context.nfs_file_release.__fput.____fput.task_work_run
228 ± 34% 3e+03 3103 ±159% latency_stats.max.rpc_wait_bit_killable.__rpc_wait_for_completion_task.nfs4_run_open_task.[nfsv4].nfs4_do_open.[nfsv4].nfs4_atomic_open.[nfsv4].nfs4_file_open.[nfsv4].do_dentry_open.vfs_open.path_openat.do_filp_open.do_sys_open.SyS_open
270 ± 24% 3e+03 3110 ±162% latency_stats.max.io_schedule.wait_on_page_bit_common.__filemap_fdatawait_range.filemap_write_and_wait_range.nfs_file_fsync.vfs_fsync_range.vfs_fsync.nfs4_file_flush.[nfsv4].filp_close.do_dup2.SyS_dup2.entry_SYSCALL_64_fastpath
12245 ±110% -7e+03 5367 ± 29% latency_stats.max.call_usermodehelper_exec.__request_module.get_fs_type.do_mount.SyS_mount.entry_SYSCALL_64_fastpath
927506 ±173% -9e+05 11702 ±100% latency_stats.max.tty_release_struct.tty_release.__fput.____fput.task_work_run.exit_to_usermode_loop.syscall_return_slowpath.entry_SYSCALL_64_fastpath
7892 ± 54% 3e+04 33793 ±131% latency_stats.sum.sync_inodes_sb.sync_inodes_one_sb.iterate_supers.sys_sync.entry_SYSCALL_64_fastpath
12030 ±109% 2e+04 33536 ±136% latency_stats.sum.autofs4_wait.autofs4_mount_wait.autofs4_d_manage.follow_managed.lookup_fast.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
14311 ± 15% 7e+03 21729 ±116% latency_stats.sum.call_rwsem_down_read_failed.page_lock_anon_vma_read.rmap_walk_anon.rmap_walk.try_to_unmap.migrate_pages.migrate_misplaced_page.__handle_mm_fault.handle_mm_fault.__do_page_fault.do_page_fault.page_fault
8095 ± 22% 7e+03 15421 ± 79% latency_stats.sum.call_rwsem_down_read_failed.rmap_walk_anon.rmap_walk.remove_migration_ptes.migrate_pages.migrate_misplaced_page.__handle_mm_fault.handle_mm_fault.__do_page_fault.do_page_fault.page_fault
495 ± 39% 7e+03 7470 ±131% latency_stats.sum.rpc_wait_bit_killable.__rpc_wait_for_completion_task.nfs4_do_close.[nfsv4].__nfs4_close.[nfsv4].nfs4_close_sync.[nfsv4].nfs4_close_context.[nfsv4].__put_nfs_open_context.nfs_file_clear_open_context.nfs_file_release.__fput.____fput.task_work_run
3449 ± 18% 7e+03 10001 ± 68% latency_stats.sum.io_schedule.wait_on_page_bit_common.__filemap_fdatawait_range.filemap_fdatawait_keep_errors.sync_inodes_sb.sync_inodes_one_sb.iterate_supers.sys_sync.entry_SYSCALL_64_fastpath
378 ±123% 6e+03 6438 ±109% latency_stats.sum.io_schedule.__lock_page.find_lock_entry.shmem_getpage_gfp.shmem_fault.__do_fault.__handle_mm_fault.handle_mm_fault.__do_page_fault.do_page_fault.page_fault
386 ± 34% 3e+03 3242 ±153% latency_stats.sum.rpc_wait_bit_killable.__rpc_wait_for_completion_task.nfs4_run_open_task.[nfsv4].nfs4_do_open.[nfsv4].nfs4_atomic_open.[nfsv4].nfs4_file_open.[nfsv4].do_dentry_open.vfs_open.path_openat.do_filp_open.do_sys_open.SyS_open
413 ± 19% 3e+03 3256 ±156% latency_stats.sum.io_schedule.wait_on_page_bit_common.__filemap_fdatawait_range.filemap_write_and_wait_range.nfs_file_fsync.vfs_fsync_range.vfs_fsync.nfs4_file_flush.[nfsv4].filp_close.do_dup2.SyS_dup2.entry_SYSCALL_64_fastpath
2874 ±173% -3e+03 0 latency_stats.sum.call_rwsem_down_write_failed.do_unlinkat.SyS_unlink.entry_SYSCALL_64_fastpath
3683 ±172% -4e+03 5 ±100% latency_stats.sum.call_rwsem_down_read_failed.lookup_slow.walk_component.path_lookupat.filename_lookup.user_path_at_empty.SyS_chmod.entry_SYSCALL_64_fastpath
12245 ±110% -7e+03 5367 ± 29% latency_stats.sum.call_usermodehelper_exec.__request_module.get_fs_type.do_mount.SyS_mount.entry_SYSCALL_64_fastpath
7320 ±136% -7e+03 0 latency_stats.sum.call_rwsem_down_write_failed.do_truncate.do_sys_ftruncate.SyS_ftruncate.entry_SYSCALL_64_fastpath
52297 ±124% -3e+04 26320 ± 16% latency_stats.sum.call_rwsem_down_read_failed.lookup_slow.walk_component.link_path_walk.path_parentat.filename_parentat.do_unlinkat.SyS_unlink.entry_SYSCALL_64_fastpath
64452 ± 83% -3e+04 31383 ± 30% latency_stats.sum.call_rwsem_down_write_failed.do_rmdir.SyS_rmdir.entry_SYSCALL_64_fastpath
1867567 ±173% -2e+06 11702 ±100% latency_stats.sum.tty_release_struct.tty_release.__fput.____fput.task_work_run.exit_to_usermode_loop.syscall_return_slowpath.entry_SYSCALL_64_fastpath
Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.
Thanks,
Xiaolong
3 years, 2 months
492b95e597 ("rcuperf: Set more user-friendly defaults"): WARNING: CPU: 0 PID: 1 at arch/x86/kernel/smp.c:128 native_smp_send_reschedule
by Fengguang Wu
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 492b95e59735998312f678d77a2d5fe20af6b0b9
Author: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
AuthorDate: Fri Apr 21 16:09:15 2017 -0700
Commit: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
CommitDate: Thu Jun 8 08:25:31 2017 -0700
rcuperf: Set more user-friendly defaults
Common-case use of rcuperf must set rcuperf.nreaders=0 and if not built
as a module, rcuperf.shutdown. This commit therefore sets the default
for rcuperf.nreaders to zero and sets the default for rcuperf.shutdown
to zero if rcuperf is built as a module and to one otherwise.
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
3ddf20c953 srcu: Shrink Tiny SRCU a bit more
492b95e597 rcuperf: Set more user-friendly defaults
bb176f6709 Linux 4.14-rc6
36ef71cae3 Add linux-next specific files for 20171018
+--------------------------------------------------------------+------------+------------+-----------+---------------+
| | 3ddf20c953 | 492b95e597 | v4.14-rc6 | next-20171018 |
+--------------------------------------------------------------+------------+------------+-----------+---------------+
| boot_successes | 910 | 21 | 199 | 60 |
| boot_failures | 0 | 9 | 111 | 21 |
| WARNING:at_arch/x86/kernel/smp.c:#native_smp_send_reschedule | 0 | 9 | 111 | 21 |
+--------------------------------------------------------------+------------+------------+-----------+---------------+
[ 29.173654] augmented rbtree testing
[ 32.263469] -> 83223 cycles
[ 32.540332] gpio_it87: no device
[ 32.541422] sched: Unexpected reschedule of offline CPU#1!
[ 32.542355] ------------[ cut here ]------------
[ 32.543057] WARNING: CPU: 0 PID: 1 at arch/x86/kernel/smp.c:128 native_smp_send_reschedule+0x83/0xbb
[ 32.544646] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc4-00028-g492b95e #1
[ 32.545397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 32.546381] task: ffff88001e2e0000 task.stack: ffff88001e2e8000
[ 32.547031] RIP: 0010:native_smp_send_reschedule+0x83/0xbb
[ 32.547642] RSP: 0000:ffff88001e2ebca0 EFLAGS: 00010086
[ 32.548225] RAX: 000000000000002e RBX: 0000000000000003 RCX: 0000000000000000
[ 32.548989] RDX: 0000002e00000001 RSI: 0000000000000000 RDI: 0000000000000096
[ 32.550034] RBP: ffff88001e2ebcb8 R08: 0000000000000003 R09: 0000000000000000
[ 32.551039] R10: ffff88001e2e0758 R11: 0000000000021001 R12: 0000000000000001
[ 32.551996] R13: 0000000000000000 R14: ffff88001e380000 R15: ffff88001e500000
[ 32.552727] FS: 0000000000000000(0000) GS:ffff88001e400000(0000) knlGS:0000000000000000
[ 32.553585] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 32.554227] CR2: 0000000000000000 CR3: 000000000260f000 CR4: 00000000000006b0
[ 32.555288] Call Trace:
[ 32.555687] smp_send_reschedule+0xa/0xc
[ 32.556313] try_to_wake_up+0x27e/0x2e4
[ 32.556870] wake_up_process+0x15/0x17
[ 32.557374] wake_up_worker+0x5f/0x6a
[ 32.557982] pwq_adjust_max_active+0x154/0x191
[ 32.558444] link_pwq+0xc3/0x10a
[ 32.558828] __alloc_workqueue_key+0x325/0x695
[ 32.559288] ? ftrace_likely_update+0x78/0x81
[ 32.559810] ? pci_epf_init+0x52/0x52
[ 32.560222] ? do_early_param+0xfd/0xfd
[ 32.560643] pci_epf_test_init+0x30/0x7c
[ 32.561063] ? pci_epf_init+0x52/0x52
[ 32.561431] do_one_initcall+0xbc/0x1f7
[ 32.562099] ? do_early_param+0xfd/0xfd
[ 32.562760] kernel_init_freeable+0x13f/0x233
[ 32.563497] ? rest_init+0xd6/0xd6
[ 32.564046] kernel_init+0x14/0x1c5
[ 32.564565] ? rest_init+0xd6/0xd6
[ 32.564987] ret_from_fork+0x2a/0x40
[ 32.565345] Code: 00 00 31 d2 be 01 00 00 00 48 c7 c7 88 40 7d 82 e8 8c 48 18 00 44 89 e6 48 c7 c7 5a 68 3d 82 48 ff 05 70 78 87 01 e8 45 a5 1b 00 <0f> ff b9 01 00 00 00 31 d2 be 01 00 00 00 48 c7 c7 58 40 7d 82
[ 32.568020] ---[ end trace 6590e27884081b3a ]---
[ 32.570056] VIA Graphics Integration Chipset framebuffer 2.4 initializing
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start v4.13 v4.12 --
git bisect bad 63a86362130f4c17eaa57f3ef5171ec43111a54e # 14:39 B 16 1 0 6 Merge tag 'pm-4.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
git bisect bad 090a81d8766e21d33ab3e4d24e6c8e5eedf086dd # 14:44 B 11 5 0 7 Merge branch 'for-spi' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
git bisect bad 3bad2f1c676581d01e7645eb03e9b27e28b0a92e # 16:22 B 45 2 7 13 Merge branch 'work.misc-set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
git bisect bad 362f6729cbb1d6bbab59e069f19441b0622ff7ec # 16:27 B 20 1 0 5 Merge tag 'usb-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect bad 6553698be05983056f5561cef6aaee0cc6afe7a0 # 16:28 B 17 1 0 10 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 892ad5acca0b2ddb514fae63fa4686bf726d2471 # 16:33 B 21 2 0 5 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 26d3a77d2cb3cb31bbaa2de37b7a4e6375f204ee # 19:02 G 155 0 0 0 Merge tag 'edac_for_4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
git bisect bad 330e9e46253cbfab178450c976aa90ef0f3ae940 # 19:02 B 21 3 0 4 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good e94693f797400b9f424c69e1da9381e4846762fe # 19:46 G 155 0 0 0 Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 511324e462a12ea8be1a7e5fc63a992134db80d7 # 19:48 B 18 1 0 9 rcu: Use RCU_NOCB_WAKE rather than RCU_NOGP_WAKE
git bisect good 59ca3f9fef599cc6da7975d2261ab3bb86a6ac6b # 20:21 G 155 0 0 0 rcuperf: Add the ability to test tiny RCU flavors
git bisect bad 59d80fd8351b7b9a5dc7bbfa8bc4ca19f6ff3dad # 21:22 B 61 1 5 11 rcu: Print out rcupdate.c non-default boot-time settings
git bisect bad b562b85c3a8c395d49aca6a46b321299d6e49ff1 # 21:27 B 15 5 0 10 srcu-cbmc: Use /usr/bin/awk instead of /bin/awk
git bisect good 41f364819fbfc092462e3c85283fa887c8159387 # 22:22 G 310 0 0 0 rcutorture: Reduce CPUs dedicated to testing Classic SRCU
git bisect bad 492b95e59735998312f678d77a2d5fe20af6b0b9 # 22:22 B 21 1 0 9 rcuperf: Set more user-friendly defaults
git bisect good 3ddf20c953520203c42dbed1f091ed52080e1cd2 # 22:56 G 305 0 0 0 srcu: Shrink Tiny SRCU a bit more
# first bad commit: [492b95e59735998312f678d77a2d5fe20af6b0b9] rcuperf: Set more user-friendly defaults
git bisect good 3ddf20c953520203c42dbed1f091ed52080e1cd2 # 01:01 G 910 0 0 0 srcu: Shrink Tiny SRCU a bit more
# extra tests on HEAD of linux-next/master
git bisect bad 36ef71cae353f88fd6e095e2aaa3e5953af1685d # 01:02 B 29 15 0 6 Add linux-next specific files for 20171018
# extra tests on tree/branch linus/master
git bisect bad bb176f67090ca54869fc1262c913aa69d2ede070 # 01:56 B 19 2 5 5 Linux 4.14-rc6
# extra tests with first bad commit reverted
git bisect good 00425bff9132ab95f35cc901571adfd591d29df6 # 06:20 G 303 0 0 0 Revert "rcuperf: Set more user-friendly defaults"
# extra tests on tree/branch linux-next/master
git bisect bad 36ef71cae353f88fd6e095e2aaa3e5953af1685d # 06:22 B 29 15 0 6 Add linux-next specific files for 20171018
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
3 years, 3 months
[lkp-robot] [x86/mm] 9e52fc2b50: will-it-scale.per_thread_ops -16% regression
by kernel test robot
Greeting,
FYI, we noticed a -16% regression of will-it-scale.per_thread_ops due to commit:
commit: 9e52fc2b50de3a1c08b44f94c610fbe998c0031a ("x86/mm: Enable RCU based page table freeing (CONFIG_HAVE_RCU_TABLE_FREE=y)")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: will-it-scale
on test machine: 32 threads Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz with 64G memory
with following parameters:
test: malloc1
cpufreq_governor: performance
test-description: Will It Scale takes a testcase and runs it from 1 through to n parallel copies to see if the testcase will scale. It builds both a process and threads based test in order to see any differences between the two.
test-url: https://github.com/antonblanchard/will-it-scale
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
testcase/path_params/tbox_group/run: will-it-scale/malloc1-performance/lkp-sb03
39e48d9b128abbd2 9e52fc2b50de3a1c08b44f94c6
---------------- --------------------------
%stddev change %stddev
\ | \
52686 ± 4% -16% 44404 will-it-scale.per_thread_ops
2351 216% 7432 ± 9% will-it-scale.time.involuntary_context_switches
221 9% 241 will-it-scale.time.system_time
74 9% 81 will-it-scale.time.percent_of_cpu_this_job_got
129046 126398 will-it-scale.per_process_ops
11216681 ± 3% -11% 10001205 will-it-scale.time.minor_page_faults
2936727 ± 4% -15% 2498747 interrupts.CAL:Function_call_interrupts
41949 40801 vmstat.system.in
14.86 15.03 boot-time.dhcp
15.23 15.41 boot-time.kernel_boot
3.885e+08 ± 3% 33% 5.185e+08 perf-stat.node-load-misses
10335 25% 12942 perf-stat.cpu-migrations
2.119e+08 24% 2.636e+08 perf-stat.iTLB-loads
1.616e+09 17% 1.893e+09 perf-stat.cache-misses
8.361e+08 16% 9.736e+08 perf-stat.node-stores
8.381e+08 16% 9.725e+08 perf-stat.node-loads
6.28 15% 7.26 perf-stat.cache-miss-rate%
31.67 10% 34.77 perf-stat.node-load-miss-rate%
4.049e+08 4% 4.208e+08 perf-stat.node-store-misses
0.20 3% 0.21 perf-stat.branch-miss-rate%
0.52 0.51 perf-stat.ipc
1.859e+09 1.824e+09 perf-stat.iTLB-load-misses
9.837e+11 9.639e+11 perf-stat.branch-instructions
6.615e+11 6.46e+11 perf-stat.dTLB-stores
4.787e+12 4.674e+12 perf-stat.instructions
2.08e+08 2.028e+08 perf-stat.page-faults
2.08e+08 2.028e+08 perf-stat.minor-faults
89.77 87.37 perf-stat.iTLB-load-miss-rate%
32.63 -7% 30.19 perf-stat.node-store-miss-rate%
[*] bisect-good sample
[O] bisect-bad sample
Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.
Thanks,
Xiaolong
3 years, 3 months
37f2447049 ("kbuild: fix linker feature test macros when cross .."): BUG: kernel hang in early-boot stage, last printk: Decompressing Linux...
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kbuild
commit 37f24470495731e8b5cfd29164e346ca9d3c0632
Author: Nick Desaulniers <ndesaulniers(a)google.com>
AuthorDate: Fri Oct 27 13:13:43 2017 -0700
Commit: Masahiro Yamada <yamada.masahiro(a)socionext.com>
CommitDate: Sat Oct 28 23:45:19 2017 +0900
kbuild: fix linker feature test macros when cross compiling with Clang
I was not seeing my linker flags getting added when using ld-option when
cross compiling with Clang. Upon investigation, this seems to be due to
a difference in how GCC vs Clang handle cross compilation.
GCC is configured at build time to support one backend, that is implicit
when compiling. Clang is explicit via the use of `-target <triple>` and
ships with all supported backends by default.
GNU Make feature test macros that compile then link will always fail
when cross compiling with Clang unless Clang's triple is passed along to
the compiler. For example:
$ clang -x c /dev/null -c -o temp.o
$ aarch64-linux-android/bin/ld -E temp.o
aarch64-linux-android/bin/ld:
unknown architecture of input file `temp.o' is incompatible with
aarch64 output
aarch64-linux-android/bin/ld:
warning: cannot find entry symbol _start; defaulting to
0000000000400078
$ echo $?
1
$ clang -target aarch64-linux-android- -x c /dev/null -c -o temp.o
$ aarch64-linux-android/bin/ld -E temp.o
aarch64-linux-android/bin/ld:
warning: cannot find entry symbol _start; defaulting to 00000000004002e4
$ echo $?
0
This causes conditional checks that invoke $(CC) without the target
triple, then $(LD) on the result, to always fail.
Suggested-by: Masahiro Yamada <yamada.masahiro(a)socionext.com>
Signed-off-by: Nick Desaulniers <ndesaulniers(a)google.com>
Reviewed-by: Matthias Kaehlcke <mka(a)chromium.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro(a)socionext.com>
4467d3f62b kbuild: shrink .cache.mk when it exceeds 1000 lines
37f2447049 kbuild: fix linker feature test macros when cross compiling with Clang
+---------------------------------------------------------------------+------------+------------+
| | 4467d3f62b | 37f2447049 |
+---------------------------------------------------------------------+------------+------------+
| boot_successes | 45 | 0 |
| boot_failures | 1 | 15 |
| BUG:kernel_reboot-without-warning_in_test_stage | 1 | |
| BUG:kernel_hang_in_early-boot_stage,last_printk:Decompressing_Linux | 0 | 15 |
+---------------------------------------------------------------------+------------+------------+
output_len: 0x02878090
kernel_total_size: 0x03212000
Decompressing Linux...
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start a31e7b0dd1c980f8f842421bd373b6afc24c537f bb176f67090ca54869fc1262c913aa69d2ede070 --
git bisect bad 692704061fb6f80f037821c9ade25e6ee9d17e07 # 08:38 B 0 7 50 15 Merge 'nf-next/master' into devel-spot-201710290439
git bisect bad 24dd4080b9c6b1a1a0a7bf973aab35f9cbf12c8d # 08:56 B 0 9 21 0 Merge 'nfs/multipath_tcp' into devel-spot-201710290439
git bisect good de878dafcdae7a7ffd23447434ed0c1a7041df0c # 09:25 G 11 0 0 0 Merge 'masahiroy/kbuild' into devel-spot-201710290439
git bisect bad 147b60216364d0894b8311056262421d876f4404 # 10:01 B 0 11 23 0 Merge 'chao-linux/f2fs-dev' into devel-spot-201710290439
git bisect bad 6b86583a4f515543d235803943209d79c562f4cc # 10:29 B 0 5 26 8 Merge 'masahiroy/for-next' into devel-spot-201710290439
git bisect good f7b0acea7951ca21d8da74ee840dc83edbca95ba # 11:03 G 11 0 0 0 kbuild: rpm-pkg: do not force -jN in submake
git bisect good 8808232e8600605b81763d2972124fd24561aaad # 11:37 G 11 0 0 0 kbuild: Cache a few more calls to the compiler
git bisect bad 37f24470495731e8b5cfd29164e346ca9d3c0632 # 12:01 B 0 11 23 0 kbuild: fix linker feature test macros when cross compiling with Clang
git bisect good 4467d3f62b5cfddd20362649d988c18317f8e754 # 12:20 G 11 0 0 1 kbuild: shrink .cache.mk when it exceeds 1000 lines
# first bad commit: [37f24470495731e8b5cfd29164e346ca9d3c0632] kbuild: fix linker feature test macros when cross compiling with Clang
git bisect good 4467d3f62b5cfddd20362649d988c18317f8e754 # 12:24 G 31 0 0 1 kbuild: shrink .cache.mk when it exceeds 1000 lines
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 37f24470495731e8b5cfd29164e346ca9d3c0632 # 12:49 B 0 2 14 0 kbuild: fix linker feature test macros when cross compiling with Clang
# extra tests on HEAD of linux-devel/devel-spot-201710290439
git bisect bad a31e7b0dd1c980f8f842421bd373b6afc24c537f # 12:55 B 0 59 119 0 0day head guard for 'devel-spot-201710290439'
# extra tests on tree/branch masahiroy/kbuild
git bisect bad 37f24470495731e8b5cfd29164e346ca9d3c0632 # 12:59 B 0 15 27 0 kbuild: fix linker feature test macros when cross compiling with Clang
# extra tests with first bad commit reverted
git bisect good 09508094eac49ab7db0f797d9c8fb8a0ae555e26 # 13:23 G 11 0 0 0 Revert "kbuild: fix linker feature test macros when cross compiling with Clang"
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
3 years, 3 months
Re: [LKP] ce56a86e2a ("x86/mm: Limit mmap() of /dev/mem to valid physical addresses"): kernel BUG at arch/x86/mm/physaddr.c:79!
by Craig Bergstrom
Yes, not much time left for 4.14, it might be reasonable to pull the
change out since it's causing problems. The 0day testing robot
failure is relatively simple (definitely aided by the reproduction
instructions), but I'm still pulling apart the qemu failure.
Another alternative that I considered when coding this up would be to
explicitly reject mmaps of pages that are greater than the bus width
of the system. It would let through a lot more mmaps of /dev/mem that
don't point to valid addresses, but prevents the page table corruption
and seems less likely to cause problems (diff shown below). I haven't
tested this on anything but a single 64-bit system.
Standby while I figure out what's going on with the qemu failures.
diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c
index 320c6237e1d1..7d78ae4d0731 100644
--- a/arch/x86/mm/mmap.c
+++ b/arch/x86/mm/mmap.c
@@ -182,7 +182,11 @@ int valid_phys_addr_range(phys_addr_t addr, size_t count)
int valid_mmap_phys_addr_range(unsigned long pfn, size_t count)
{
- phys_addr_t addr = (phys_addr_t)pfn << PAGE_SHIFT;
+ phys_addr_t addr = pfn << PAGE_SHIFT;
- return valid_phys_addr_range(addr, count);
+ if ((addr + count) &
+ ~(1ul << (unsigned long)boot_cpu_data.x86_phys_bits))
+ return 0;
+
+ return 1;
}
On Thu, Oct 26, 2017 at 2:58 AM, Sander Eikelenboom
<linux(a)eikelenboom.it> wrote:
> On 26/10/17 10:12, Sander Eikelenboom wrote:
>> On 26/10/17 10:05, Sander Eikelenboom wrote:
>>> On 26/10/17 00:02, Craig Bergstrom wrote:
>>>> Thanks for the notification, my apologies for the breakage. I'll take a
>>>> close look and see if I can figure out what went wrong.
>>>>
>>>> Sander, any chance you can send /proc/iomem and the inputs to the mmap call
>>>> that fail on your affected system?
>>>
>>> Hi Craig,
>>>
>>> The output from /proc/iomem is simple to get and attached.
>>> The mmap call is probably issued by qemu and will require more digging.
>>
>> Ahh grepping qemu gave a pointer, it's probably the code in:
>>
>> http://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=blob;f=hw/xen/xen_pt_msi....
>>
>> around line 571, that would also explain why it's only this device that
>> has the problem, since it's the only one trying to use MSI(-X)
>> interrupts. Will see it i can add some logging to that function.
>
> Attached is the qemu debug output with an extra line outputting all stuff
> used to calculate the arguments used by the mmap-call.
> --
> Sander
>
>
>> --
>> Sander
>>
>>
>>>
>>> I don't know if there is that much time left for 4.14, since we are at
>>> RC6 already.
>>>
>>> --
>>> Sander
>>>
>>>
>>>>
>>>>
>>>> On Wed, Oct 25, 2017 at 2:50 PM, Boris Ostrovsky <boris.ostrovsky(a)oracle.com
>>>>> wrote:
>>>>
>>>>> On 10/23/2017 10:44 PM, Fengguang Wu 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/torvalds/linux.git
>>>>> master
>>>>>>
>>>>>> commit ce56a86e2ade45d052b3228cdfebe913a1ae7381
>>>>>> Author: Craig Bergstrom <craigb(a)google.com>
>>>>>> AuthorDate: Thu Oct 19 13:28:56 2017 -0600
>>>>>> Commit: Ingo Molnar <mingo(a)kernel.org>
>>>>>> CommitDate: Fri Oct 20 09:48:00 2017 +0200
>>>>>>
>>>>>> x86/mm: Limit mmap() of /dev/mem to valid physical addresses
>>>>>
>>>>> Also note
>>>>> https://lists.xenproject.org/archives/html/xen-devel/2017-10/msg02935.html
>>>>>
>>>>> -boris
>>>>>
>>>>
>>>
>>
>
3 years, 3 months
3472f16f83 ("workqueue: Use lockdep to assert IRQs are .."): WARNING: CPU: 0 PID: 561 at kernel/workqueue.c:1378 __queue_work
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git lockdep/irq
commit 3472f16f830323c2b6dd7e284a9113ea5a01ef4b
Author: Frederic Weisbecker <fweisbec(a)gmail.com>
AuthorDate: Sun Sep 10 18:52:57 2017 +0200
Commit: Frederic Weisbecker <fweisbec(a)gmail.com>
CommitDate: Thu Oct 19 18:02:44 2017 +0200
workqueue: Use lockdep to assert IRQs are disabled/enabled
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker <fweisbec(a)gmail.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Ingo Molnar <mingo(a)kernel.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Tejun Heo <tj(a)kernel.org>
Cc: Lai Jiangshan <jiangshanlai(a)gmail.com>
daf5751390 irq: Use lockdep to assert IRQs are disabled/enabled
3472f16f83 workqueue: Use lockdep to assert IRQs are disabled/enabled
1cb58314de rcu: Use lockdep to assert IRQs are disabled/enabled
+-----------------------------------------------------------------+------------+------------+------------+
| | daf5751390 | 3472f16f83 | 1cb58314de |
+-----------------------------------------------------------------+------------+------------+------------+
| boot_successes | 35 | 4 | 8 |
| boot_failures | 0 | 11 | 11 |
| WARNING:at_kernel/workqueue.c:#__queue_work | 0 | 11 | 11 |
| EIP:__queue_work | 0 | 11 | 11 |
| WARNING:at_kernel/softirq.c:#__local_bh_enable | 0 | 11 | 11 |
| EIP:__local_bh_enable | 0 | 11 | 11 |
| EIP:queue_delayed_work_on | 0 | 11 | 11 |
| WARNING:at_kernel/rcu/tree.c:#rcu_irq_enter | 0 | 0 | 11 |
| EIP:rcu_irq_enter | 0 | 0 | 11 |
| WARNING:at_kernel/sched/cputime.c:#irqtime_account_process_tick | 0 | 0 | 11 |
| EIP:irqtime_account_process_tick | 0 | 0 | 11 |
| WARNING:at_kernel/events/core.c:#perf_event_task_tick | 0 | 0 | 11 |
| EIP:perf_event_task_tick | 0 | 0 | 11 |
| WARNING:at_kernel/rcu/tree.c:#cpu_needs_another_gp | 0 | 0 | 11 |
| EIP:cpu_needs_another_gp | 0 | 0 | 11 |
| WARNING:at_kernel/rcu/tree.c:#rcu_irq_exit | 0 | 0 | 11 |
| EIP:rcu_irq_exit | 0 | 0 | 11 |
| EIP:rcu_process_callbacks | 0 | 0 | 11 |
| WARNING:at_kernel/rcu/tree_plugin.h:#rcu_note_context_switch | 0 | 0 | 11 |
| EIP:rcu_note_context_switch | 0 | 0 | 11 |
+-----------------------------------------------------------------+------------+------------+------------+
/etc/rcS.d/S03udev: line 72: /proc/sys/kernel/hotplug: No such file or directory
[ 26.744185] udevadm (208) used greatest stack depth: 6444 bytes left
[ 27.105898] scsi_id (419) used greatest stack depth: 6240 bytes left
[ 27.852941] IRQs not disabled as expected
[ 27.853345] ------------[ cut here ]------------
[ 27.853761] WARNING: CPU: 0 PID: 561 at kernel/workqueue.c:1378 __queue_work+0x863/0x88d
[ 27.854640] CPU: 0 PID: 561 Comm: mount Not tainted 4.14.0-rc4-00561-g3472f16 #1
[ 27.855303] task: be750000 task.stack: be194000
[ 27.855710] EIP: __queue_work+0x863/0x88d
[ 27.856114] EFLAGS: 00010046 CPU: 0
[ 27.856429] EAX: 0000001d EBX: 00000001 ECX: 00000001 EDX: 00000000
[ 27.856984] ESI: c01a4e44 EDI: c1d30800 EBP: be195cb8 ESP: be195c94
[ 27.857535] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
[ 27.858015] CR0: 80050033 CR2: 098a9fb8 CR3: 0e05a000 CR4: 00000690
[ 27.858567] Call Trace:
[ 27.858794] __queue_delayed_work+0x150/0x1b5
[ 27.859189] queue_delayed_work_on+0xc5/0x178
[ 27.860109] kblockd_schedule_delayed_work_on+0x11/0x16
[ 27.860602] __blk_mq_delay_run_hw_queue+0x1c7/0x1cf
[ 27.861050] blk_mq_run_hw_queue+0xd/0xf
[ 27.861405] blk_mq_make_request+0xc63/0xc6e
[ 27.861791] generic_make_request+0x14c/0x3df
[ 27.862185] ? mempool_alloc+0x8a/0x1b1
[ 27.862531] submit_bio+0x1b5/0x1ce
[ 27.862847] ? guard_bio_eod+0xdc/0x1c2
[ 27.863196] submit_bh_wbc+0x297/0x2a1
[ 27.863532] submit_bh+0xc/0xe
[ 27.863810] __bread_gfp+0xf3/0x16a
[ 27.864129] ntfs_fill_super+0x3fe/0x1370
[ 27.864488] mount_bdev+0x1ae/0x221
[ 27.864802] ntfs_mount+0x10/0x12
[ 27.865114] ? load_system_files+0xe26/0xe26
[ 27.865498] mount_fs+0x3a/0x166
[ 27.865818] vfs_kern_mount+0x97/0x1a2
[ 27.866217] do_mount+0xe93/0x12d3
[ 27.866527] ? strndup_user+0x77/0xa5
[ 27.866859] SyS_mount+0xd8/0xfc
[ 27.867157] do_int80_syscall_32+0xd9/0x3f7
[ 27.867535] entry_INT80_32+0x33/0x33
[ 27.867865] EIP: 0x47f46fee
[ 27.868123] EFLAGS: 00000282 CPU: 0
[ 27.868437] EAX: ffffffda EBX: afa09f00 ECX: afa09f0c EDX: 0852e618
[ 27.868995] ESI: 00008010 EDI: 00000000 EBP: 00000000 ESP: afa08ca0
[ 27.869550] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
[ 27.870034] Code: 42 c6 05 9f 21 f4 b2 01 6a 01 31 c9 ba 01 00 00 00 b8 70 47 f5 b2 e8 a0 44 0a 00 ff 05 18 45 01 b3 68 28 3b b1 b2 e8 bd c0 03 00 <0f> ff 6a 01 31 c9 ba 01 00 00 00 b8 58 47 f5 b2 e8 7b 44 0a 00
[ 27.871736] ---[ end trace f2bbd97d0e69f1eb ]---
[ 27.872202] IRQs not disabled as expected
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 53d36235b27b6e44a60d1bacbb6af72efb81d524 33d930e59a98fa10a0db9f56c7fa2f21a4aef9b9 --
git bisect good 67898b215b17f20e25d5920efbec3ea46a6557e3 # 19:06 G 10 0 0 0 Merge 'f2fs/dev' into devel-spot-201710200947
git bisect bad 64b02126dcbd90798c593418a5dbc1b67aab4683 # 19:19 B 0 2 14 0 Merge 'jkirsher-net-queue/dev-queue' into devel-spot-201710200947
git bisect bad 26d666cc6ebb18eb665d12f9ef9fc70b410fb7a3 # 20:09 B 0 11 24 0 Merge 'hverkuil-media/tegra-cec' into devel-spot-201710200947
git bisect good e0fbddb4a2b82bae298c04a2bb7a5064a11466fa # 20:30 G 11 0 0 0 Merge 'rcu/rcu/alpha-cocci' into devel-spot-201710200947
git bisect good 54e6907d0bcfdf4c37a2c5df38f139a6e8dd5713 # 20:49 G 11 0 0 0 Merge 'ipsec/master' into devel-spot-201710200947
git bisect bad ec640f5aea734b0d5d15c038416b388dd8d142f2 # 21:26 B 0 11 24 0 Merge 'tegra-drm/drm/tegra/for-next' into devel-spot-201710200947
git bisect bad 13ce196cd307b9ebf2494687db8145104f596702 # 21:50 B 0 11 23 0 Merge 'dynticks/lockdep/irq' into devel-spot-201710200947
git bisect good 5fc21b562729455a0643da9e94938889af515ddc # 22:27 G 11 0 11 15 Merge branch 'x86/asm'
git bisect good 8d849f75ea571fe5f37e636f4cb7f524e7abad7c # 10:53 G 11 0 11 15 Merge branch 'sched/core'
git bisect good 0e1c917210d5ef80637880959efa679fde4679f3 # 11:09 G 11 0 11 11 Merge branch 'x86/urgent'
git bisect good 3594329f88c5b73c6431cf67f2b002e17dff50dc # 12:11 G 11 0 0 0 Merge branch 'linus'
git bisect bad 94081aabf14429321aebee2abe661da4e02f233f # 12:57 B 0 9 23 0 hrtimer: Use lockdep to assert IRQs are disabled/enabled
git bisect good daf5751390fdfa6cd60a5604294982c8bce18ce7 # 13:50 G 11 0 0 0 irq: Use lockdep to assert IRQs are disabled/enabled
git bisect bad bb896a993d62835bb89efa97d3173794446750d8 # 14:08 B 0 2 15 0 nohz: Use lockdep to assert IRQs are disabled/enabled
git bisect bad 3472f16f830323c2b6dd7e284a9113ea5a01ef4b # 15:57 B 0 1 15 1 workqueue: Use lockdep to assert IRQs are disabled/enabled
# first bad commit: [3472f16f830323c2b6dd7e284a9113ea5a01ef4b] workqueue: Use lockdep to assert IRQs are disabled/enabled
git bisect good daf5751390fdfa6cd60a5604294982c8bce18ce7 # 16:33 G 31 0 0 0 irq: Use lockdep to assert IRQs are disabled/enabled
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 3472f16f830323c2b6dd7e284a9113ea5a01ef4b # 17:20 B 0 11 24 0 workqueue: Use lockdep to assert IRQs are disabled/enabled
# extra tests on HEAD of linux-devel/devel-spot-201710200947
git bisect bad 53d36235b27b6e44a60d1bacbb6af72efb81d524 # 17:21 B 0 12 27 0 0day head guard for 'devel-spot-201710200947'
# extra tests on tree/branch dynticks/lockdep/irq
git bisect bad 1cb58314de50c73eaf0b0322615ecb7a8ee39592 # 18:09 B 0 5 18 0 rcu: Use lockdep to assert IRQs are disabled/enabled
# extra tests with first bad commit reverted
git bisect good b7df9601ca4f052a1b41353c36a46f6738ad6b00 # 18:49 G 11 0 11 11 Revert "workqueue: Use lockdep to assert IRQs are disabled/enabled"
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
3 years, 3 months
Re: [LKP] [lkp-robot] [android/ion] 5fb70554d6: kernel_selftests.android.make_fail
by Laura Abbott
On 10/31/2017 03:21 AM, Pintu Kumar wrote:
> On Tue, Oct 31, 2017 at 2:32 AM, Laura Abbott <labbott(a)redhat.com> wrote:
>> On 10/30/2017 12:12 AM, Pintu Kumar wrote:
>>> On Sun, Oct 29, 2017 at 7:51 PM, kernel test robot
>>> <xiaolong.ye(a)intel.com> wrote:
>>>>
>>>> FYI, we noticed the following commit (built with gcc-6):
>>>>
>>>> commit: 5fb70554d68e2ea032b6a28b082801d8b7b76cb8 ("android/ion: userspace test utility for ion buffer sharing")
>>>> url: https://github.com/0day-ci/linux/commits/Pintu-Agarwal/android-ion-usersp...
>>>>
>>>>
>>>> in testcase: kernel_selftests
>>>> with following parameters:
>>>>
>>>>
>>>> test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
>>>> test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
>>>>
>>>>
>>>> on test machine: 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory
>>>>
>>>> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>>>>
>>>>
>>>>
>>>>
>>>> KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8
>>>> 2017-10-26 22:18:16 ln -sf /usr/bin/gcc-5 /usr/bin/gcc
>>>>
>>>> 2017-10-26 22:18:16 make run_tests -C android
>>>> make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8/tools/testing/selftests/android'
>>>> make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8/tools/testing/selftests/android/ion'
>>>> gcc -I../../../../../drivers/staging/android/uapi/ -Wall -O2 -g ionapp_export.c ipcsocket.c ionutils.c -o ionapp_export
>>>> In file included from ionapp_export.c:28:0:
>>>> ionutils.h:4:17: fatal error: ion.h: No such file or directory
>>>> compilation terminated.
>>>> In file included from ionutils.c:9:0:
>>>> ionutils.h:4:17: fatal error: ion.h: No such file or directory
>>>> compilation terminated.
>>>
>>> This utility requires ion.h header file which should be included from
>>> kernel source tree: drivers/staging/android/ion/uapi/
>>> This is already mentioned in the ion/Makefile
>>> Looks like this ion.h is not getting included inside the linux_headers_dir ?
>>>
>>> Shall I include the ion.h locally in my selftests?
>>> Or, is there a better way to include the header directly...
>>>
>>>
>>
>>
>> I can't reproduce this in any of my environments but if I had to guess,
>> it's because you have
>>
>> #include "ion.h"
>>
>> which is supposed to look in the local path.
>>
>
> I don't think this is the problem.
> It just means, first it will look into the local path, then it will
> look into the include path which is specified in the Makefile.
> And, in the Makefile I have already included the path where it exists.
> INCLUDEDIR := -I../../../../../drivers/staging/android/uapi/
>
Ah yeah you are right
> I think the problem is in general, and not specific to this test.
> Because, when I manually try to install the kernel headers, I could
> not find the "ion.h" there, or none of the headers from
> drivers/staging/android/
> # make headers_install ARCH=i386 INSTALL_HDR_PATH=../headers/
>
> But, I can see the drivers/android/ header files.
>
> Now the question is, how to include the header files from staging
> folder to kernel headers ?
>
> As per reference from some other selftests (such as: gpio/Makefile,
> vm/Makefile, etc.), I also tried the following.
>
> ../../../../../drivers/staging/android/uapi/ion.h:
> make -C ../../../../.. headers_install
> INSTALL_HDR_PATH=$(shell pwd)/../../../../usr/
>
> But this also does not help in installing the ion.h header file in
> kernel_header path.
>
> Any other pointers to fix this issue ?
>
The staging uapi headers don't look to be installed with the
standard install command. This makes sense given that staging
drivers are well staging and not yet stable.
The tools/gpio Makefile seems to do this trick to allow compilation
outside the kernel tree (it is a dependency for the gpio selftest)
#
# We need the following to be outside of kernel tree
#
$(OUTPUT)include/linux/gpio.h: ../../include/uapi/linux/gpio.h
mkdir -p $(OUTPUT)include/linux 2>&1 || true
ln -sf $(CURDIR)/../../include/uapi/linux/gpio.h $@
prepare: $(OUTPUT)include/linux/gpio.h
Maybe something like that needs to happen here unless Shuah has
any better ideas for headers?
Thanks,
Laura
>
> Thanks,
> Pintu
>
>
>> Thanks,
>> Laura
3 years, 3 months
67bb8e999e ("x86/mm: Disable various instrumentations of .."): BUG: -1 unexpected failures (out of 262) - debugging disabled! |
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 67bb8e999e0aeac285d22f0e53c856b9df5282c6
Author: Tom Lendacky <thomas.lendacky(a)amd.com>
AuthorDate: Tue Oct 10 14:45:04 2017 -0500
Commit: Ingo Molnar <mingo(a)kernel.org>
CommitDate: Wed Oct 11 17:22:59 2017 +0200
x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
Some routines in mem_encrypt.c are called very early in the boot process,
e.g. sme_enable(). When CONFIG_KCOV=y is defined the resulting code added
to sme_enable() (and others) for KCOV instrumentation results in a kernel
crash. Disable the KCOV instrumentation for mem_encrypt.c by adding
KCOV_INSTRUMENT_mem_encrypt.o := n to arch/x86/mm/Makefile.
In order to avoid other possible early boot issues, model mem_encrypt.c
after head64.c in regards to tools. In addition to disabling KCOV as
stated above and a previous patch that disables branch profiling, also
remove the "-pg" CFLAG if CONFIG_FUNCTION_TRACER is enabled and set
KASAN_SANITIZE to "n", each of which are done on a file basis.
Reported-by: kernel test robot <lkp(a)01.org>
Signed-off-by: Tom Lendacky <thomas.lendacky(a)amd.com>
Reviewed-by: Borislav Petkov <bp(a)suse.de>
Cc: Borislav Petkov <bp(a)alien8.de>
Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Link: http://lkml.kernel.org/r/20171010194504.18887.38053.stgit@tlendack-t1.amd...
Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
ab7ff471aa x86/hyperv: Fix hypercalls with extended CPU ranges for TLB flushing
67bb8e999e x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
19e12196da Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
36ef71cae3 Add linux-next specific files for 20171018
+--------------------------------------------------------------------------------------+------------+------------+------------+---------------+
| | ab7ff471aa | 67bb8e999e | 19e12196da | next-20171018 |
+--------------------------------------------------------------------------------------+------------+------------+------------+---------------+
| boot_successes | 3 | 0 | 2 | 10 |
| boot_failures | 761 | 42 | 201 | 77 |
| BUG:kernel_reboot-without-warning_in_early-boot_stage,last_printk:Booting_the_kernel | 760 | | | |
| BUG:kernel_reboot-without-warning_in_test_stage | 1 | | | |
| BUG:-#unexpected_failures(out_of#)-debugging_disabled!| | 0 | 42 | | |
| BUG:kernel_hang_in_test_stage | 0 | 42 | 200 | 77 |
| WARNING:at_kernel/events/core.c:#perf_swevent_add | 0 | 1 | 10 | 1 |
+--------------------------------------------------------------------------------------+------------+------------+------------+---------------+
[ 0.003333] context:failed| ok | ok |
[ 0.003333] try:failed| ok |failed|
[ 0.003333] block:failed| ok |failed|
[ 0.003333] spinlock:failed| ok |failed|
[ 0.003333] -----------------------------------------------------------------
[ 0.003333] BUG: -1 unexpected failures (out of 262) - debugging disabled! |
[ 0.003333] -----------------------------------------------------------------
[ 0.003333] ODEBUG: selftest passed
[ 0.003333] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[ 0.003333] hpet clockevent registered
[ 0.003345] tsc: Detected 2926.328 MHz processor
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start bb176f67090ca54869fc1262c913aa69d2ede070 v4.13 --
git bisect good 820bf5c419e4b85298e5c3001bd1b5be46d60765 # 21:42 G 38 0 6 6 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
git bisect good 9c0c1adab6024ab7222333ead95c57ca60f39f6f # 21:53 G 38 0 38 40 Merge tag 'drm-fixes-for-v4.14-rc4' of git://people.freedesktop.org/~airlied/linux
git bisect good 9aa0d2dde6ebd14e9d16e28081a24721d5b41cc8 # 22:29 G 38 0 38 38 Merge tag 'drm-fixes-for-v4.14-rc5' of git://people.freedesktop.org/~airlied/linux
git bisect bad 27fdb35fe99011d86bcc54f62fe84712c53f4d05 # 23:11 B 6 3 6 7 doc: Fix various RCU docbook comment-header problems
git bisect bad 33d930e59a98fa10a0db9f56c7fa2f21a4aef9b9 # 23:12 B 0 1 15 1 Linux 4.14-rc5
git bisect good 7b764cedcb1a04e795795dd0fa38570467583be3 # 23:33 G 35 0 33 33 Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 7a23c5abb930cefcef85df6dc0c8fb3e8961980c # 00:08 B 8 5 8 8 Merge tag 'dmaengine-fix-4.14-rc5' of git://git.infradead.org/users/vkoul/slave-dma
git bisect good a339b351304d5e6b02c7cf8eed895d181e64bce0 # 00:31 G 38 0 10 13 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad e7a36a6ec9cf1b60273e48ee980b8920f333bd4d # 01:06 B 8 5 8 9 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good d4a2d031dd42f9594107d317e2a9a0c6d73ad46b # 01:30 G 36 0 26 28 x86/unwind: Disable unwinder warnings on 32-bit
git bisect bad 67bb8e999e0aeac285d22f0e53c856b9df5282c6 # 02:05 B 12 1 12 12 x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
git bisect good 60d73a7c96601434dfdb56d5b9167ff3b850d8d7 # 03:04 G 195 0 195 195 x86/hyperv: Don't use percpu areas for pcpu_flush/pcpu_flush_ex structures
git bisect good ab7ff471aa5db670197070760f022622793da7e5 # 03:23 G 188 0 188 190 x86/hyperv: Fix hypercalls with extended CPU ranges for TLB flushing
# first bad commit: [67bb8e999e0aeac285d22f0e53c856b9df5282c6] x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
git bisect good ab7ff471aa5db670197070760f022622793da7e5 # 03:55 G 561 0 560 750 x86/hyperv: Fix hypercalls with extended CPU ranges for TLB flushing
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 67bb8e999e0aeac285d22f0e53c856b9df5282c6 # 04:40 B 26 19 26 26 x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
# extra tests on HEAD of linux-devel/devel-hourly-2017102915
git bisect bad 75c176ba09dee0b693e5f63442b2c96315799cc1 # 04:40 B 0 2 28 10 0day head guard for 'devel-hourly-2017102915'
# extra tests on tree/branch linus/master
git bisect bad 19e12196da601f7b80b5639adbcecf60fae13389 # 06:25 B 10 1 10 16 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
# extra tests with first bad commit reverted
git bisect good 191d249fb18624fb43bf27b4105b081db434d721 # 08:20 G 187 0 187 187 Revert "x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c"
# extra tests on tree/branch linux-next/master
git bisect bad 36ef71cae353f88fd6e095e2aaa3e5953af1685d # 09:27 B 28 1 28 28 Add linux-next specific files for 20171018
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
3 years, 3 months
[block, scsi] 69a596374a: WARNING:at_block/blk-core.c:#blk_queue_enter
by kernel test robot
FYI, we noticed the following commit (built with gcc-6):
commit: 69a596374af1dc42879da03cacf4784e20634d50 ("block, scsi: Make SCSI quiesce and resume work reliably")
https://github.com/bvanassche/linux blk-mq-pm-2017-10-18-v10
in testcase: suspend
with following parameters:
runtime: 300s
iterations: 10x
presync: presync
mode: freeze
on test machine: 4 threads Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz with 8G memory
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+----------------+------------+------------+
| | f99d352222 | 69a596374a |
+----------------+------------+------------+
| boot_successes | 4 | 4 |
+----------------+------------+------------+
kern :warn : [ 160.136228] WARNING: CPU: 1 PID: 4065 at block/blk-core.c:823 blk_queue_enter+0x26b/0x290
kern :warn : [ 160.137154] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver netconsole sr_mod sd_mod cdrom sg snd_hda_codec_idt snd_hda_codec_generic intel_rapl x86_pkg_temp_thermal snd_hda_intel snd_hda_codec intel_powerclamp coretemp snd_hda_core kvm irqbypass crct10dif_pclmul snd_hwdep crc32_pclmul crc32c_intel ahci libahci ghash_clmulni_intel cryptd pcspkr i915 libata snd_pcm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm snd_timer snd soundcore shpchp video ip_tables
kern :warn : [ 160.141062] CPU: 1 PID: 4065 Comm: sync Not tainted 4.14.0-rc3-00171-g69a5963 #1
kern :warn : [ 160.142008] Hardware name: Hewlett-Packard p6-1451cx/2ADA, BIOS 8.15 02/05/2013
kern :warn : [ 160.142936] task: ffff8801dbfc2680 task.stack: ffffc90001b28000
kern :warn : [ 160.143825] RIP: 0010:blk_queue_enter+0x26b/0x290
kern :warn : [ 160.144702] RSP: 0018:ffffc90001b2bd40 EFLAGS: 00010286
kern :warn : [ 160.145557] RAX: 0000000000000042 RBX: ffff8801d9028000 RCX: 0000000000000000
kern :warn : [ 160.146432] RDX: ffff880212e96180 RSI: ffff880212e8e018 RDI: ffff880212e8e018
kern :warn : [ 160.147320] RBP: ffffc90001b2bd90 R08: 0000000000000000 R09: 0000000000000b6a
kern :warn : [ 160.148186] R10: ffff880212943068 R11: 0000000000000001 R12: ffff8801d9028770
kern :warn : [ 160.149033] R13: 0000000000000000 R14: ffff8801d9028788 R15: 0000000000000000
kern :warn : [ 160.149869] FS: 00007f7d8dd95700(0000) GS:ffff880212e80000(0000) knlGS:0000000000000000
kern :warn : [ 160.150708] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kern :warn : [ 160.151516] CR2: 00007f7d8d8a9290 CR3: 00000001dbfa9001 CR4: 00000000001606e0
kern :warn : [ 160.152364] Call Trace:
kern :warn : [ 160.153154] generic_make_request+0xc6/0x2d0
kern :warn : [ 160.153981] ? mempool_alloc_slab+0x15/0x20
kern :warn : [ 160.154811] submit_bio+0x64/0x120
kern :warn : [ 160.155632] ? submit_bio+0x64/0x120
kern :warn : [ 160.156458] submit_bio_wait+0x51/0x70
kern :warn : [ 160.157295] blkdev_issue_flush+0x6d/0xa0
kern :warn : [ 160.158148] ext4_sync_fs+0x147/0x1d0
kern :warn : [ 160.158997] sync_fs_one_sb+0x20/0x30
kern :warn : [ 160.159857] iterate_supers+0xc3/0x120
kern :warn : [ 160.160722] ? do_fsync+0x70/0x70
kern :warn : [ 160.161583] sys_sync+0x53/0x90
kern :warn : [ 160.162442] entry_SYSCALL_64_fastpath+0x1a/0xa5
kern :warn : [ 160.163337] RIP: 0033:0x7f7d8d8b9067
kern :warn : [ 160.164223] RSP: 002b:00007ffffe777fe8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a2
kern :warn : [ 160.165192] RAX: ffffffffffffffda RBX: 00007ffffe778118 RCX: 00007f7d8d8b9067
kern :warn : [ 160.166173] RDX: 00007f7d8db76ea0 RSI: 0000000000000000 RDI: 00007f7d8d93df86
kern :warn : [ 160.167164] RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
kern :warn : [ 160.168164] R10: 000000000000081b R11: 0000000000000206 R12: 0000000000000000
kern :warn : [ 160.169170] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
kern :warn : [ 160.170176] Code: 7e 84 d2 0f 84 5c fe ff ff e9 0e fe ff ff 48 8b 83 e0 01 00 00 48 c7 c7 a8 ee cd 81 c6 05 47 e2 c2 00 01 48 8b 30 e8 36 33 cf ff <0f> ff 65 ff 0d bc fb c1 7e e9 33 fe ff ff 65 ff 0d b0 fb c1 7e
kern :warn : [ 160.172394] ---[ end trace 5ca38e8674c6f650 ]---
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
Thanks,
lkp
3 years, 3 months