Patent ID: 8504744

Claim:
In a multi-core processor for use on a modem in a telecommunications network, a buffer management mechanism comprising: a buffer module that provides lock-less, zero copy buffer management services for one or more Layer 2 applications, wherein the buffer module at least provides a user space application interface to application software running in user space; a buffer manager that manages a plurality of separate pools of tokens, wherein the tokens comprise pointers to memory areas in external kernel space memory; and a custom driver that manages Data Path Acceleration Architecture (DPAA) resources including buffer pools and frame queues to be used for user plane data distributing, wherein the custom driver is further operative to provide lock-less, zero copy buffer management with pre-allocated memory for the buffer module by: acquiring a contiguous chunk of the external kernel space memory; mapping the contiguous chunk of kernel space memory to user space to allow user mode applications access to data stored in the external kernel space memory to eliminate data copy that otherwise occurs whenever data crosses a kernel-to-user-space boundary; initializing a number of pools, a number of tokens per pool, and a size of the buffers to which the tokens point; and seeding the pools with tokens, wherein a start address of the contiguous chunk of kernel space memory is used as a base pointer when calculating seed values for the buffer pools.