agpgart: drm-populated memory types

From: thomas
Date: Mon Jan 08 2007 - 07:35:03 EST


Dave and Arjan,

I'm resending a slightly reworked version of the apgart patch for drm-populated
memory types.

The address- based vmalloc / vfree has been replaced and encapsulated in
agp-vkmalloc / agp vkfree which both takes a flag argument to indicate
whether to use vmalloc or kmalloc. This, at least, gets rid of the
portability problem, and the chances of running into trouble in the future
will be small if all allocs / frees of these memory areas are done using
these functions.

A short recap why I belive the kmalloc / vmalloc construct is necessary:

0) The current code uses vmalloc only.
1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on
on the size of the AGP buffer allocated.
2) Large buffers are very few. Small buffers tend to be quite many.
If we continue to use vmalloc only or another page-based scheme we will
waste approx one page per buffer, together with the added slowness of
vmalloc. This will severely hurt applications with a lot of small
texture buffers.

Please let me know if you still consider this unacceptable.
In that case I suggest sticking with vmalloc for now.

Also please let me know if there are other parths of the patch that should be
reworked.

The patch that follows is against Dave's agpgart repo.

Regards,

Thomas




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/