X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fcontributing%2Fdesign.rst;h=5fe7f63942d598ad1e615a382056695c99cbfb06;hb=47909357a0697fe9aaf4f0f27939f4edcdbb5e22;hp=d3dd694b65df0b4846686414c1d94c92414b55e6;hpb=218c4e68c1d9bd4a9281bc1dc4d0ab89859083bf;p=dpdk.git diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst index d3dd694b65..5fe7f63942 100644 --- a/doc/guides/contributing/design.rst +++ b/doc/guides/contributing/design.rst @@ -57,6 +57,22 @@ The following config options can be used: * ``CONFIG_RTE_EXEC_ENV`` is a string that contains the name of the executive environment. * ``CONFIG_RTE_EXEC_ENV_FREEBSD`` or ``CONFIG_RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment. +Mbuf features +------------- + +The ``rte_mbuf`` structure must be kept small (128 bytes). + +In order to add new features without wasting buffer space for unused features, +some fields and flags can be registered dynamically in a shared area. +The "dynamic" mbuf area is the default choice for the new features. + +The "dynamic" area is eating the remaining space in mbuf, +and some existing "static" fields may need to become "dynamic". + +Adding a new static field or flag must be an exception matching many criteria +like (non exhaustive): wide usage, performance, size. + + Library Statistics ------------------