Originally Posted by bender1
Please, explain this in a deeper way. Are so many the main differences between the amd64 and x86 (32bit) OS code so there's no way to release the 64bit driver but the 32bit one yes?
Thanks and sorry for my english (and for my total ignorance about this. The wait for the drivers is just too long...there's even a windows xp 64 bit edition in the market by now, lol ;-) )
Contrary to what is written below, this is not a compiler feature or CPU instruction.
What NVidia wants is control which VM pages can be cached (as in CPU cache) in what way, where the VM pages in question are both pages that are device mapped from the graphics card and pages in annonymously mapped memory.
What I don't understand is why this blocks AMD64 and not i386, to my knowledge the i386 port doesn't have it either.
NVidia also seem to have had earlier Linux drivers without that kind of control.
I also generally fail to see what advantage cache control over annonymously mapped memory brings except a minor performance advantage, respectively saving some work for manual cache control in the driver code when using this memory. For the device mapped memory I can see that it might be required, but for other memory this seems to be microoptimization only. If my assumptions are correct we are blocked on this for a performance advantage in the single-percent area. While I applaud NVidia's desire to make the Unix drivers as fast as the Windows drivers, I personally don't care too much because I have graphics cards that are overkill for what I need. And if I hadn't I would be willing to spend the money for a bigger card than I need if I just get drivers (think of it as paying for the drivers).