Kernel configuration options

Jordan Crouse jordan.crouse at amd.com
Wed Jan 2 13:13:28 EST 2008


On 02/01/08 08:01 -1000, Mitch Bradley wrote:
> John Richard Moser wrote:
> > Bernardo Innocenti wrote:
> >   
> >> Tom Sylla wrote:
> >>
> >>     
> >>> http://openbios.org/viewvc/cpu/x86/pc/olpc/lxmsrs.fth?view=markup&revision=739&root=OpenFirmware
> >>> has:
> >>>   msr: 0000.1810 fdfff000.fd000111.  \ Video (write through), fbsize
> >>>
> >>> which is setting the framebuffer as write-combining. (the "write
> >>> through" comment is incorrect)
> >>>       
> >> This takes care of the physical mapping, but how would userspace
> >> be able to mmap the framebuffer into virtual memory without
> >> additional MMU programming?
> >>
> >> I was under the impression that we also need to cover the whole
> >> region with small 4KB MMU pages.  This degrades performance
> >> somewhat due to TLB misses when the CPU accesses the framebuffer.
> >>
> >>     
> >
> > I missed whether or not the Geode actually has 4MiB huge pages, I 
> > thought someone said it does.  This being the case, why can't you access 
> > the 16 (or was it 24?) MiB of memory via a handful (about 1/1024th) of 
> > huge mappings?  Does x86 MMU not allow for huge MMIO?
> >
> > The Geode GX has 64 TLB entries right?  I don't know how many the Geode 
> > LX has, or if there's an L2 TLB.  Obviously, though, this would be a 
> > major performance boon, what with there being (assuming 24MiB of vram) 5 
> > probably often used mappings instead of 5120 in an often-used set with a 
> > probably uneven distribution.
> >   
> 
> The magnitude of the performance benefit is not at all obvious.  The 
> Geode's graphics accelerator uses physical addressing.

True - but the framebuffer is also mapped into virtual space for the
benefit of the kernel and userspace, and our graphics software reads
directly from the mapped memory more then it should. This is especially
true for composite operations, which for better or for worse, comprise
most of our operations these days, thanks to Cairo and friends.

Jordan

-- 
Jordan Crouse
Systems Software Development Engineer 
Advanced Micro Devices, Inc.





More information about the Devel mailing list