Re: Driver-level memory management

From: Ingo Oeser
Date: Sun Aug 12 2007 - 20:37:54 EST


Hi Michael,

On Sunday 12 August 2007, Michael Bourgeous wrote:
> I'm working on a driver for older HDTV cards based on the TL880 chip.
> These cards typically have 16MB of their own memory, which is
> available to me over the PCI bus. Various functions of the card
> require me to manage this memory, allocating and freeing chunks of it
> as necessary. I can easily include my own allocation and management
> code,

Ok.

> but I'm sure this is a problem that has been solved before.

Yes!

in your Kconfig

select GENERIC_ALLOCATOR

in your driver.c

#include <linux/genalloc.h>

Code is in lib/genalloc.c, if you like to take a look.

Memory for MANAGING free/allocated space is NOT taken
from your on-card memory! That allocator is explicitly developed
for such use cases.

Happy hacking!


Best regards

Ingo Oeser
-
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/