Originally posted by: pallejr
You say: "but the applications buffers may not be."
I have said (how many times): if the memory manager ensures these buffers are below 4G ... hello?
Oh, changing your story now? You have all along been refering to DMA buffers. Either way YOU ARE WRONG GET THIS THROUGH YOUR FREAKING HEAD. What you said was "It might be getting old, and this might not be the place to discuss it. But if the memory manager chooses only to
give away memory below 4G to drivers, no double buffering will ever be needed."
You can't have it both ways. If neither drivers nor applications can use memory above the 4gig line then you know what, you have a 4gig machine. In fact, this is EXACTLY what Microsoft did in the XP family. If you have more than 4gig of memory its simply never used.
The OP here suggested a way to use is. I pointed out yes you could but you'd have some double buffering going on. You show up and try to correct that. Your wrong, and now your trying to claim your talking about application buffers. Well then sport if your DMA buffers are below the 4gig line and your application memory is below the 4gig line, exactly what are you storing above the 4gig line AND HOW THE HELL DO YOU GET IT THERE WITHOUT COPYING FROM BUFFERS BELOW THE LINE.
Now in 2003 server and 2008 server (32bit)they do allow PAE mode and it works exactly like I described. If the applications buffer is above the 4gig line the data is double buffered if its coming from a driver which can't deal with >32bit addresses.