I think Petri should weigh in on these questions.  For the first one, what
problems do you anticipate some platforms having with that equation?

I think the cleanest solution would be to have the platform segment size
for a given pool accessible as pool metadata, e.g.,
odp_pool_seg_size(pool), but the real issue is why does the application
want this information?  If an application wants to ensure that packets are
unsegmented then the simplest solution is to re-introduce the notion of
unsegmented pools.  If an application creates an unsegmented pool then by
definition any object allocated from that pool will only consist of a
single segment.  By contrast, if the application is designed to support
segments then it shouldn't care.

On Mon, Jan 19, 2015 at 3:27 AM, Jerin Jacob <jerin.ja...@caviumnetworks.com
> wrote:

> On Sat, Jan 17, 2015 at 09:45:12AM -0600, Bill Fischofer wrote:
> > Application-visible sizes refer to application-visible data.  Metadata is
> > always implementation-specific and not included in such counts.  Metadata
> > is "off books" data that is associated with the packet but is not part of
> > any addressable packet storage. The advantage of having a packet object
> is
> > that the packet APIs can refer to the packet independent of any
> > implementation and not to how the packet may be represented in storage
> on a
> > particular platform.
>
> But coming back to my question, How an application can create a one segment
> full length packet ?
> Following equation may not be correct in all platforms
> packet_len = ODP_CONFIG_PACKET_BUF_LEN_MIN - ODP_CONFIG_PACKET_HEADROOM -
> ODP_CONFIG_PACKET_TAILROOM;
>
>
> >
> > Trying to reason about buffers that are used to store packet data is
> > inherently non-portable and should be discouraged. Hopefully the switch
> to
> > events will help move us in that direction since packets are no longer a
> > type of buffer using the new nomenclature.
>
> Should we remove  odp_buffer_size(buf) == odp_packet_buf_len(pkt)) test
> case
> or wait for event rework to happen ?
>
> >
> > On Sat, Jan 17, 2015 at 5:52 AM, Jacob, Jerin <
> > jerin.ja...@caviumnetworks.com> wrote:
> >
> > > Some odp_packet API queries based on exiting odp packet unit test case,
> > >
> > > 1) In exiting odp packet unit test case, In order to create one full
> > > length packet in one segment,
> > > We have used following formula,
> > > packet_len = ODP_CONFIG_PACKET_BUF_LEN_MIN -
> ODP_CONFIG_PACKET_HEADROOM -
> > > ODP_CONFIG_PACKET_TAILROOM;
> > >
> > > This may not be valid in all platform if the packet segment has segment
> > > specific meta data.
> > > I think, we need to create either new ODP_CONFIG to define the default
> > > packet size
> > > or odp_packet_alloc of len == 0 can be used to create default packet
> size.
> > >
> > > 2) If buffer is NOT aware of segmentation then odp_buffer_size(buf) of
> > > packet should be ODP_CONFIG_PACKET_BUF_LEN_MIN
> > > instead of odp_buffer_size(buf) == odp_packet_buf_len(pkt)) .
> > >
> > > Any thoughts ?
> > >
> > > - Jerin
> > > _______________________________________________
> > > lng-odp mailing list
> > > lng-odp@lists.linaro.org
> > > http://lists.linaro.org/mailman/listinfo/lng-odp
> > >
>
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to