Re: [Mesa3d-dev] Memory management - an AGP manager

2006-01-09 Thread Keith Whitwell

Roland Scheidegger wrote:

Keith Whitwell wrote:


Right now, I'm primarily concerned with unified memory chipsets, like
i915 and via. This memory manager would be suitable for managing the
AGP memory on non-unified chipsets, but a different implementation
would be needed for the on-card video ram, based more on dma and
copying than map/unmapping as will be seen below.


I'm not sure I quite understand that, do you propose completely separate 
managers for handling agp and video ram?


You're right, I had been thinking as if the two managers could be made disjoint. 
   I guess there will need to be either a mechanism for multiple backends 
behind the common API, or else the future Video RAM manager I refer to will 
actually be an extension of the AGP manager I propose which includes handling of 
Video RAM as well.


In any case, I feel that there are benefits in tackling the AGP only case first, 
basically getting something up and running in a simplified environment to 
validate aspects of the design before tackling the full problem.


Keith



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Mesa3d-dev] Memory management - an AGP manager

2006-01-08 Thread Keith Whitwell

Keith Whitwell wrote:


1) I think this is the first solution for memory management that I can
   imagine implementing.  Also it's one which gives reasonable
   performance when data is being evicted from the GART.


This sounds a little trite reading it back.

This a function of two things, firstly that I've thought more about this 
implementation than any other but also crucially that I've been able to find 
straightforward answers to most of the problems that have come up about the 
behaviour of the manager.


It seems to me that this could be implemented in a small to mid sized project 
and beyond the extensions to the AGP module for map/unmapping doesn't have too 
many scary implementation black holes.


It also seems like the drivers wouldn't change too drastically as a result of 
adopting this memory manager.


I've not mentioned replacement algorithms at all as I feel that the design 
doesn't place any constraints on the choice of replacement algorithm, pretty 
much anything can be implemented inside of ValidateBuffer() and the rest of the 
design would be unaffected.


Keith




---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Mesa3d-dev] Memory management - an AGP manager

2006-01-08 Thread Roland Scheidegger

Keith Whitwell wrote:

Right now, I'm primarily concerned with unified memory chipsets, like
i915 and via. This memory manager would be suitable for managing the
AGP memory on non-unified chipsets, but a different implementation
would be needed for the on-card video ram, based more on dma and
copying than map/unmapping as will be seen below.
I'm not sure I quite understand that, do you propose completely separate 
managers for handling agp and video ram?
I think this introduces some problems for things which can be both in 
agp or video ram. Some cards for instance may be able to render to agp 
memory, though the performance hit may be so big that you really want to 
use video memory unless you simply don't have enough video mem.
A very common case which can use both video memory and agp memory are 
textures, for performance reasons you usually want to place them in 
video memory, but putting some textures into agp memory is a lot faster 
than texture thrashing. I guess you could handle that at the driver 
level (since it has always access to all ram) but performance may 
potentially suffer quite a bit if multiple apps are running at the same 
time which stomp over each others buffer (which could be better avoided 
with a coordinated scheme by allocating some buffers in agp memory 
instead of video ram).


Roland


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel