When using the tool
ddccontrol -r 0x?? -w <VAL> phy:/dev/i2c-0
in rapid successions you get errors. When you wait 1 second between each command, the issue seems to be reduced.
Note: it might have occurred 2 i2c commands where active at the same time.
Afterwards (even when the tool is not running) you can get minor freezes of 1 sec quite often.
The kernel also spits out a lot of errors when the issues occur.
NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
I’ve even had a case practically freezing my system:
Aug 04 14:04:15 [kernel] [<ffffffff8106f555>] ? arch_trigger_all_cpu_backtrace+0x55/0x70
Aug 04 14:04:15 [kernel] [<ffffffff810d9083>] ? rcu_check_callbacks+0x3e3/0x610
Aug 04 14:04:15 [kernel] [<ffffffff810e3300>] ? tick_nohz_handler+0xa0/0xa0
Aug 04 14:04:15 [kernel] [<ffffffff81091f8f>] ? update_process_times+0x3f/0x80
Aug 04 14:04:15 [kernel] [<ffffffff810e3250>] ? tick_sched_handle.isra.13+0x30/0x40
Aug 04 14:04:15 [kernel] [<ffffffff810e3300>] ? tick_nohz_handler+0xa0/0xa0
Aug 04 14:04:15 [kernel] [<ffffffff810e3342>] ? tick_sched_timer+0x42/0x70
Aug 04 14:04:15 [kernel] [<ffffffff810a6c92>] ? __run_hrtimer+0x52/0x170
Aug 04 14:04:15 [kernel] [<ffffffff810a76a1>] ? hrtimer_interrupt+0xf1/0x220
Aug 04 14:04:15 [kernel] [<ffffffff8106de36>] ? smp_apic_timer_interrupt+0x36/0x50
Aug 04 14:04:15 [kernel] [<ffffffff816fcd4a>] ? apic_timer_interrupt+0x6a/0x70
Aug 04 14:04:15 [kernel] <EOI>
Aug 04 14:04:15 [kernel] [<ffffffffa0f31630>] ? _nv014535rm+0x30/0x30 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f27870>] ? _nv014562rm+0x7b0/0x800 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0dc767a>] ? _nv008155rm+0x35a/0x450 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0dc7578>] ? _nv008155rm+0x258/0x450 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0dc741b>] ? _nv008155rm+0xfb/0x450 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0dc73f9>] ? _nv008155rm+0xd9/0x450 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f2cd04>] ? _nv014435rm+0xc4/0x130 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0eb1466>] ? _nv013092rm+0xa6/0xb0 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0eb0eae>] ? _nv013093rm+0x24e/0x260 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa1016f05>] ? _nv014991rm+0x75/0x120 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f2cdb4>] ? _nv014416rm+0x44/0x70 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f32228>] ? _nv014614rm+0x18/0xc0 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f33fcd>] ? _nv014616rm+0x11d/0x220 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0e97afe>] ? _nv012096rm+0x1fe/0x300 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f25198>] ? _nv011268rm+0x748/0xa30 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f24910>] ? _nv011261rm+0xc0/0x100 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa0f2489c>] ? _nv011261rm+0x4c/0x100 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffffa10538f5>] ? rm_i2c_transfer+0x325/0x490 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffff810bc301>] ? pick_next_task_fair+0xb1/0x3f0
Aug 04 14:04:15 [kernel] [<ffffffffa1063c34>] ? nv_i2c_algo_master_xfer+0xa4/0x140 [nvidia]
Aug 04 14:04:15 [kernel] [<ffffffff814d8d63>] ? __i2c_transfer+0x63/0x1d0
Aug 04 14:04:15 [kernel] [<ffffffff810bc535>] ? pick_next_task_fair+0x2e5/0x3f0
Aug 04 14:04:15 [kernel] [<ffffffff814daee7>] ? i2c_transfer+0x57/0xa0
Aug 04 14:04:15 [kernel] [<ffffffff8113d59f>] ? memdup_user+0x3f/0x90
Aug 04 14:04:15 [kernel] [<ffffffff814dd84e>] ? i2cdev_ioctl_rdrw.isra.5+0x11e/0x250
Aug 04 14:04:15 [kernel] [<ffffffff814ddaac>] ? i2cdev_ioctl+0x12c/0x1b0
Aug 04 14:04:15 [kernel] [<ffffffff8104eb55>] ? syscall_trace_leave+0xa5/0x190
Aug 04 14:04:15 [kernel] [<ffffffff811856de>] ? do_vfs_ioctl+0x7e/0x500
Aug 04 14:04:15 [kernel] [<ffffffff810b5246>] ? vtime_account_user+0x36/0x50
Aug 04 14:04:15 [kernel] [<ffffffff81185ba7>] ? SyS_ioctl+0x47/0xa0
Aug 04 14:04:15 [kernel] [<ffffffff816fc1be>] ? tracesys+0x71/0xd9
Aug 04 14:04:15 [kernel] [<ffffffff816fc221>] ? tracesys+0xd4/0xd9
nvidia-bug-report.log.gz (82.7 KB)