<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Ingo Molnar &lt;mingo@elte.hu&gt;

This patch fixes scheduling latencies in vgacon_do_font_op().  The code is
protected by vga_lock already so it's safe to drop (and re-acquire) the
BKL.

Has been tested in the -VP patchset.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 25-akpm/drivers/video/console/vgacon.c |    3 +++
 1 files changed, 3 insertions(+)

diff -puN drivers/video/console/vgacon.c~sched-fix-scheduling-latencies-in-vgaconc drivers/video/console/vgacon.c
--- 25/drivers/video/console/vgacon.c~sched-fix-scheduling-latencies-in-vgaconc	Tue Sep 14 17:42:13 2004
+++ 25-akpm/drivers/video/console/vgacon.c	Tue Sep 14 17:42:13 2004
@@ -49,6 +49,7 @@
 #include &lt;linux/spinlock.h&gt;
 #include &lt;linux/ioport.h&gt;
 #include &lt;linux/init.h&gt;
+#include &lt;linux/smp_lock.h&gt;
 #include &lt;video/vga.h&gt;
 #include &lt;asm/io.h&gt;
 
@@ -763,6 +764,7 @@ static int vgacon_do_font_op(struct vgas
 		charmap += 4 * cmapsz;
 #endif
 
+	unlock_kernel();
 	spin_lock_irq(&amp;vga_lock);
 	/* First, the Sequencer */
 	vga_wseq(state-&gt;vgabase, VGA_SEQ_RESET, 0x1);
@@ -848,6 +850,7 @@ static int vgacon_do_font_op(struct vgas
 		vga_wattr(state-&gt;vgabase, VGA_AR_ENABLE_DISPLAY, 0);	
 	}
 	spin_unlock_irq(&amp;vga_lock);
+	lock_kernel();
 	return 0;
 }
 
_
</pre></body></html>