August 6th, 2004

Kernel address space consequences of the /3GB switch

One of the adverse consequences of the /3GB switch is that it forces the kernel to operate inside a much smaller space.

One of the biggest casualties of the limited address space is the video driver. To manage the memory on the video card, the driver needs to be able to address it, and the apertures required are typically quite large. When the video driver requests a 256MB aperture, the call is likely to fail since there simply isn’t that much address space available to spare.

All of kernel’s bookkeeping needs to fit inside that one gigabyte. Page tables, page directories, bitmaps, video driver apertures. It’s a very tight squeeze, but if you’re willing to cut back (for example by not requiring such a large video aperture), you can barely squeak it through. (A later entry will discuss another casualty of the reduced address space.)

It’s like trying to change your clothes inside a small closet. You can do it, but it’s a real struggle, you’re going to have to make sacrifices, and the results aren’t always very pretty.

Topics
Other

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.