[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4587DF61.5020007@tungstengraphics.com>
Date: Tue, 19 Dec 2006 13:47:29 +0100
From: Thomas Hellström <thomas@...gstengraphics.com>
To: Arjan van de Ven <arjan@...radead.org>
CC: Dave Jones <davej@...hat.com>, Dave Airlie <airlied@...ux.ie>,
Linux Kernel list <linux-kernel@...r.kernel.org>
Subject: Re: [patch 1/2] agpgart - allow user-populated memory types.
Arjan van de Ven wrote:
>>A short background:
>>The current code uses vmalloc only. The potential use of kmalloc was
>>introduced
>>to save memory and cpu-speed.
>>All agp drivers expect to see a single memory chunk, so I'm not sure we
>>want to have an array of pages. That may require rewriting a lot of code.
>>
>>
>
>but if it's clearly the right thing.....
>How hard can it be? there are what.. 5 or 6 AGP drivers in the kernel?
>
>
>
>
Hmm,
but we would still waste a lot of memory compared to kmalloc,
when the amount of memory needed is much less than one page, which tends
to be
a very common case.
Unless we allow the first entry in the array to be the virtual adress to an
arbitrary-sized (max one page) kmalloc() area, the rest of the entries
can be pointers
to pages allocated with __get_free_page().
This would almost introduce the same level of confusion as the original
proposal,
and effectively we'd be doing virtual address translation in software
for each access.
>>If it's acceptable I'd like to go for the vmalloc / kmalloc flag, or at
>>worst keep the current vmalloc only but that's such a _huge_ memory
>>waste for small buffers. The flag was the original idea, but
>>unfortunately the agp_memory struct is part of the drm interface, and I
>>wasn't sure we could add a variable to it.
>>
>>
>
>I doubt this is part of the userspace interface so for sure we can
>change it to be right.
>
>
>
>
/Thomas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists