Support for EM API v2.2 (em-odp/include), see API changes in
em-odp/include/event_machine/README_API.
EM config file options - config/em-odp.conf
Option 'pool.align_offset':
(Replaced 'pool.alloc_align' with 'pool.align_offset')
Alignment offset in bytes for the event payload start address.
Set the event payload alignment offset for events allocated from
any pool. This is a global setting concerning all pools.
A similar, but pool-secific option, is 'em_pool_cfg_t:align_offset{}'
that overrides this global setting for a specific pool when given to
em_pool_create(..., pool_cfg).
Use this option to globally adjust the payload layout so that a
specific part of it can be placed at a needed alignment for e.g.
HW access.
The default EM event payload start address alignment is a power-of-two
that is at minimum 32 bytes (i.e. 32 B, 64 B, 128 B etc. depending on
e.g. target cache-line size).
The 'align_offset' option can be used to fine-tune the start-address
by a small offset to e.g. make room for a small SW header before the
rest of the payload that might need a specific alignment for direct
HW-access.
Example: setting 'align_offset = 8' makes sure that the payload
after 8 bytes will be aligned at minimum (2^x) 32 bytes for all
pools that do not override this value.
start: base - align_offset
v
+------------------------------------------+
<-----
Event Payload
+------------------------------------------+
^
base (min 32B aligned, power-of-two)
New autoconf configure-script options (configure.ac):
--without-programs
Build the EM library without example programs
--with-config-file=FILE
Override the default EM configuration file (default:config/em-odp.conf)
that is used during the configure & build phases to generate the built-in
default values for the EM runtime-config (note that runtime config options
can further be changed during startup by setting the EM_CONFIG_FILE=file
variable).
The overriding file set with --with-config-file=FILE must include all
EM configuration options (unlike the runtime file that only need to
include the mandatory and changed options).
--enable-check-level=VAL(0…3)
Set the compile-time EM_CHECK_LEVEL,
see include/event_machine/platform/event_machine_config.h
EM config file options - config/em-odp.conf
Option 'pool.align_offset': (Replaced 'pool.alloc_align' with 'pool.align_offset')
Alignment offset in bytes for the event payload start address. Set the event payload alignment offset for events allocated from any pool. This is a global setting concerning all pools. A similar, but pool-secific option, is 'em_pool_cfg_t:align_offset{}' that overrides this global setting for a specific pool when given to em_pool_create(..., pool_cfg).
Use this option to globally adjust the payload layout so that a specific part of it can be placed at a needed alignment for e.g. HW access.
The default EM event payload start address alignment is a power-of-two that is at minimum 32 bytes (i.e. 32 B, 64 B, 128 B etc. depending on e.g. target cache-line size). The 'align_offset' option can be used to fine-tune the start-address by a small offset to e.g. make room for a small SW header before the rest of the payload that might need a specific alignment for direct HW-access. Example: setting 'align_offset = 8' makes sure that the payload after 8 bytes will be aligned at minimum (2^x) 32 bytes for all pools that do not override this value.
Signed-off-by: Carl Wallén carl.wallen@nokia.com