smalloc

smalloc (Static memory buffer malloc) is an ideal memory manager for Realtime Linux Kernel modules.
Download

smalloc Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Public Domain
  • Price:
  • FREE
  • Publisher Name:
  • Calin A Culianu
  • Publisher web site:
  • http://www.rtlab.org/software/

smalloc Tags


smalloc Description

smalloc (Static memory buffer malloc) is an ideal memory manager for Realtime Linux Kernel modules. smalloc short from Static memory buffer malloc, is an ideal memory manager for Realtime Linux Kernel modules that can't use dynamic memory offered by kmalloc because of the non-realtime nature of kmalloc.Like malloc(), smalloc() doles out memory to client code. Unlike malloc, however, smalloc takes a static memory buffer (as an initialization parameter). It is this buffer that smalloc manages when doling out memory to client code.This design makes smalloc ideal for use inside a Realtime Linux kernel module. It also makes it much easire to port userspace code that relies on malloc() in C or operator new() in C++ for memory management to a realtime kernel module.For example:(the below is linux kernel code)< code > #include "smalloc.h" #include < linux/slab.h > #define MEMPOOLSZ (1024*1024*1024) char *buf; ... buf = kmalloc(MEMPOOLSZ, GFP_KERNEL); /* 1 megabyte buffer in kernel module.. */ smalloc_set_memory_pool(buf, sizeof(buf)); ... MyStruct *s; s = smalloc(sizeof(MyStruct)); /* example of code that uses this static memory buffer */< /code >The above example is a typical usage pattern of smalloc.


smalloc Related Software