On Fri, 27 Sep 2002, Jens Owen wrote:
> 
> 2) This one's a little wild just for what you want, but it's something 
> Workstation Vendors have done in the past to virtualize limited 
> resources...When stealing memory, setup the page tables to generate a 
> page fault if it's accessed.  Then have the handler steal memory from 
> another application and replace memory for faulting application.

This one sucks. It sucks for multiple reasons, the most important of which 
just makes it totally unusable:

 - mapping games only work on page granularity. This may or may not be a 
   problem. But it definitely means, for example, that you cannot use 
   things like the 2/4MB pages on Intel hardware to avoid TLB misses.

 - mapping games are expensive on SMP (just about anythign else works 
   better)

 - mapping games don't work at _all_ between threads, since threads share 
   the same mappings (not a problem in some areas, but it can be a _huge_
   issue and is very fundamental)

 - the user not only needs to fault the page in, the user also needs to 
   fill the _contents_ of the page. This means that once you take the page 
   fault, you also need to have a signal handler to actually fill the page 
   with whatever texture (or other data) that you want to bring in to the
   AGP memory in question.

   Doing this one page at a time can _really_ suck.

 - mapping games simply do not work on regular PC hardware, since most of 
   the AGP accesses aren't done from user space at all, but from the card 
   itself. So the access is not a faulting access in the first place: the 
   user "accesses" the AGP memory by giving the graphics card an address 
   to it, and the graphics card will use that address.

The last one is the one that makes it totally unusable. You can play games 
here by doing things like "get the dri lock, then touch all pages in 
the client that we needed to make sure are there", but once you do that 
you are already in reality doing everything by hand, so you might as well 
not use the paging hardware at all.

                Linus



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to