> +/**
> + * Pre-reserve backing memory.
> + *
> + * Ensures that at least @p size bytes of memzone-backed memory are
> + * available to the allocator on @p socket_id, reserving additional
> + * memzones from EAL as needed to reach that total. Subsequent
> + * allocations served from the pre-reserved memory do not incur
> + * memzone-reservation cost.
> + *
> + * The reservation is cumulative: repeated calls to
> + * rte_fastmem_reserve() with the same @p socket_id grow the
> + * reservation monotonically. Reserved memory is never returned to
> + * the system during the allocator's lifetime.
> + *
> + * A typical use is to call rte_fastmem_reserve() once at
> + * application startup, with a size chosen to cover the expected
> + * steady-state working set. Allocations and frees during
> + * steady-state operation then avoid memzone reservations entirely.
> + *
> + * @param size
> + *  The minimum amount of backing memory, in bytes, to make
> + *  available on @p socket_id. The allocator may reserve more than
> + *  the requested amount due to internal rounding (e.g., to memzone
> + *  or block granularity).
> + *
> + * @param socket_id
> + *  The NUMA socket on which to reserve memory, or SOCKET_ID_ANY
> + *  to leave the choice to the allocator. With SOCKET_ID_ANY, the
> + *  allocator starts on the calling lcore's socket (or the first
> + *  configured socket if the caller is not bound to one) and falls
> + *  back to other sockets if the preferred socket cannot satisfy
> + *  the reservation.
> + *
> + * @return
> + *  - 0: Success.
> + *  - -ENOMEM: Insufficient huge-page memory to satisfy the request.
> + *  - -EINVAL: Invalid @p socket_id.
> + */
> +__rte_experimental
> +int
> +rte_fastmem_reserve(size_t size, int socket_id);

@Bruce,
I vaguely recall that we discussed something about busses and sockets a long 
time ago, but I cannot remember the details.
Is socket_id the right type (and parameter name) to identify a memory bus?

@Vipin,
You have been working on topology awareness. Same question to you:
Is socket_id the right type (and parameter name) to identify a memory bus?

Reply via email to