Re: Realtime Preemption, 2.6.12, Beginners Guide?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> (gdb) ####################################
> (gdb) # c0228ec3, stack size:  764 bytes #
> (gdb) ####################################
> (gdb) 0xc0228ec3 is in calc_mode_timings (drivers/video/fbmon.c:317).

fix below.

	Ingo

--

quick hack to remove a 764 bytes stack footprint from fbmon.c. Codepath 
is most likely serialized but with the semaphore it's for sure.

Signed-off-by: Ingo Molnar <[email protected]>

Index: linux/drivers/video/fbmon.c
===================================================================
--- linux.orig/drivers/video/fbmon.c
+++ linux/drivers/video/fbmon.c
@@ -315,9 +315,11 @@ static int edid_is_monitor_block(unsigne
 
 static void calc_mode_timings(int xres, int yres, int refresh, struct fb_videomode *mode)
 {
-	struct fb_var_screeninfo var;
-	struct fb_info info;
-	
+	static struct fb_var_screeninfo var;
+	static struct fb_info info;
+	static DECLARE_MUTEX(fb_lock);
+
+	down(&fb_lock);
 	var.xres = xres;
 	var.yres = yres;
 	fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 
@@ -334,6 +336,7 @@ static void calc_mode_timings(int xres, 
 	mode->vsync_len = var.vsync_len;
 	mode->vmode = 0;
 	mode->sync = 0;
+	up(&fb_lock);
 }
 
 static int get_est_timing(unsigned char *block, struct fb_videomode *mode)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux