Messages in this thread | | | Date | Tue, 19 Dec 2006 13:47:29 +0100 | From | Thomas Hellström <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |