Thread (12 messages) 12 messages, 4 authors, 2004-08-09

Re: Re: [RFC] Video Mode Handling

flat view

From: Antonino A. Daplas <hidden>
Date: 2004-08-09 08:26:49

On Monday 09 August 2004 15:23, Geert Uytterhoeven wrote:
On Sun, 8 Aug 2004, Andrew Morton wrote:
quoted
"Antonino A. Daplas" [off-list ref] wrote:
quoted
Most fbdev developers are proposing to bring back the per-display var
 structures to ease the difficulty of video mode handling.  This
proposal is countered by a few (notably James) in that it severely
increases the memory footprint of the kernel.
Surprised.

By how much does this increase the kernel's memory footprint?
Indeed, you need a full mode database per driver.
Not necessarily.  For drivers which cannot change the videomode, a single
entry is tops. 
 
quoted
And how much simpler would the code be if we were to bring back the
per-display var structures?

IOW: what's the tradeoff here?
  - per-display var:
      - increase memory footprint by
        MAX_NR_CONSOLES.*sizeof(struct var_screen_info)
      + simpler code
      + 100% compatible with 2.4

  - private modedb:
      - increase memory footprint by full mode database per driver.
Note: the private modedb will start with a single entry.  Entries will be added
each time the user does an fbset.  A typical user will probably use less than 10
modelines. I personally use only 3.  In contrast, saving the modeline per display 
already amounts to approximately 64 modelines. 

Also, the private modedb is needed for the resize/stty path.  Without the private
modedb, fbcon will use the default modedb.  And the modedb contain entries
from a mixed hardware.   
      - more complex (and larger) code
Yes, larger code. But we eliminate the the static mode database and instead of
saving sizeof(struct fb_var_screeninfo) per console, we save only 1/2 of that
per console.
      - subtle differences with 2.4, because not the whole var is saved
With the patch, the whole var is saved except for xoffset, yoffset and activate.
The timings will be derived from the fb_videomode which  is only a pointer in
the display structure. There should be no difference between 2.4, unless
xoffset, yoffset and activate are critical to the driver's functioning. 
 
        (BTW, which fields do you want to save, and which not, so I can
	 evaluate the impact on some drivers?)
All the fields in var are saved, one way or the other,  except for xoffset, yoffset and
activate.

Tony




-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help