On some packet pool implementations the number of available packets may vary
depending on the packet length (examples below). E.g. a packet pool may include
smaller sub-pools for different packet length ranges.

Num. pkts
A
|_______
|       |
|       |_______
|               |
|        Pool 1 |_______
|                       |
|_______________________|__>
0      512    1024    2048 
        Pkt length (B)

Num. pkts
A
|        _______
|       |       |
|       |       |
|_______|Pool 2 |_______
|                       |
|_______________________|__>    
0      512    1024    2048
        Pkt length (B)
        
To better describe this kind of pools, add fields to odp_pool_info_t for maximum
number of packets of any length, maximum number of minimum length packets, and
maximum number of maximum length packets.

odp_pool_param_t documentation is updated to reflect these new fields.

Small fix is required to the socket pktio to make the validation suite pass.

Matias Elo (4):
  api: pool: add maximum packet counts to pool info
  linux-gen: socket: handle recv/send calls with large burst size
  linux-gen: pool: add new maximum packet count fields to pool info
  validation: pool: add tests for new odp_pool_info_t fields

 include/odp/api/spec/pool.h                        | 43 +++++++++++++++-------
 .../linux-generic/include/odp_packet_internal.h    | 22 +++++++++++
 platform/linux-generic/include/odp_pool_internal.h |  1 +
 platform/linux-generic/odp_packet.c                | 22 -----------
 platform/linux-generic/odp_pool.c                  | 21 +++++++++--
 platform/linux-generic/pktio/socket.c              |  4 +-
 test/common_plat/validation/api/pool/pool.c        | 20 ++++++++++
 7 files changed, 93 insertions(+), 40 deletions(-)

-- 
2.7.4

Reply via email to