Re: Running out of vmalloc space

David Pinedo
2001-05-23T16:15:37Z

"Stephen C. Tweedie" wrote:
>
> Hi,
>
> On Tue, May 22, 2001 at 05:15:26PM -0600, David Pinedo wrote:
> > I followed up on the suggestion of several folks to not map the graphics
> > board into kernel vm space. While investigating how to do that, I
> > discovered that the frame buffer space did not need to be mapped -- it
> > was already being mapped with the control space. So instead of needing
> > (32M+16M)*2=96M of vmalloc space, I only need 32M*2=64M. That change
> > seemed easier than figuring out how not to map the board into kernel vm
> > space, so...
>
> ...so you'll end up with a driver which will work fine as long as
> nobody tries to load it in parallel with another driver which tries to
> pull the same stunt. It's an easy way out which doesn't work if
> everybody takes the same easy way out.
>
> I *really* think you need to be avoiding the mapping in the first
> place if at all possible.
>
> Cheers,
> Stephen

The graphics kernel driver needs to access the device, so it needs to be
mapped into kernel vm space. I might be able to get away with not
mapping all of the device. For example, the driver only accesses a
subset of the registers on the graphics board, and doesn't access the
framebuffer. I have a customer waiting for other bug fixes, so such a
change would have to take a lower priority.

I could easily imagine a scenario on a future graphics device where the
kernel driver accesses a large percentage of the address space of the
device, so the demand on kernel vm memory space would be high. As
framebuffers get larger in the future, the need for kernel vm space will
also increase.

David P