I used ftrace to do some duration measuring of the timer function
fb_flashcursor(). I noticed several places where this timer takes around
98 ms to complete. This time seems to be due to multiple calls to
__memcpy_toio() in ast_dirty_update():
for (i = y; i <= y2; i++) {
/* assume equal stride for now */
src_offset = dst_offset = i * afbdev->afb.base.pitches[0] + (x
* bpp);
memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram +
src_offset, (x2 - x + 1) * bpp);
My theory is that this is causing mod_timer() to block on the other CPU,
resulting in the soft lockup.
Also - I built a custom d-i using pristine 4.6-rc7, and I am able to
easily reproduce this. I think the next step here is to report this to
upstream.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1574814
Title:
ThunderX: soft lockup in cursor_timer_handler() Edit
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1574814/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs