diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2013-06-20 18:05:56 -0300 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-07-27 05:34:18 +0100 |
commit | 809feb1735e5f4210ba455108ca91cb55b7b8610 (patch) | |
tree | 9d4748be4f746841a88ca50c872210984b28c57e /fs | |
parent | 695742a1522eb8e7ed0231e85aec51bf92c4af30 (diff) |
vgacon.c: add cond reschedule points in vgacon_do_font_op
commit 7e6d72c15ff4cc0c27573901bb05f9eddbd71ed4 upstream.
Booting a 64-vcpu KVM guest, with CONFIG_PREEMPT_VOLUNTARY,
can result in a soft lockup:
BUG: soft lockup - CPU#41 stuck for 67s! [setfont:1505]
RIP: 0010:[<ffffffff812c48da>]
[<ffffffff812c48da>] vgacon_do_font_op.clone.0+0x1ba/0x550
This is due to the 8192 (cmapsz) IO operations taking longer than expected
due to lock contention in QEMU.
Add conditional resched points in between writes allowing other tasks to
execute.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
[bwh: Backported to 3.2: add #include <linux/sched.h>, already present
upstream]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions