Hi Olivier,
A few notes on using pktmbuf here:
1. As the name implies, pktmbuf should be used for packets and ctrlmbuf should
be used for control messages :). IMHO using pktmbuf to control messages is a
confusing workaround.
2. Pktmbuf has a lot of overhead that is not needed in order to send short
messages between cores. Pktmbuf has a lot of pointers and other fields that do
not make sense for messages. I don't think we want people to say DPDK is
difficult to use because e.g. sending 2 bytes from core A to core B requires
initializing a bunch of pointers and other fields that do not make sense.
3. Once we start using pktmbuf to send messages, it is likely that other people
will follow this example, and they might do it incorrectly. I don't think we
want to see emails on this list from people asking e.g:
i) Why does my app segfaults, when all I want to do is send 2 bytes
from core A to core B?
ii) Why does my app segfaults when core A writes a message to a NIC TX
queue? :)
Using an app dependent structure requires duplicating the work to create/free
the pool of such structures, and alloc/free mechanism. And then some people
will ask why are we not using ctrlmbuf, as long as ctrlmbuf exists in DPDK.
I think that, as long as we have ctrlmbuf and pktmbuf in DPDK, we should follow
the existing model. We should not look for workarounds that we know we plan to
change anyway, we should look for the right solution. We both agree we need to
refresh pktmbuf and ctrlmbuf, but my point is we should not do changes as long
as we don't know what the agreed solution will look like?
Thanks,
Cristian
-----Original Message-----
From: Olivier MATZ [mailto:[email protected]]
Sent: Monday, June 9, 2014 1:14 PM
To: Dumitrescu, Cristian
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] [v2 22/23] Packet Framework IPv4 pipeline sample app
Hi Christian,
> We need a message type defined for message passing between cores, and
> pktmbuf is definitely not the right approach.
Could you please explain why a pktmbuf is not the right approach?
As proposed in http://dpdk.org/ml/archives/dev/2014-May/002759.html
I think the control mbuf could be replaced by a packet mbuf or an
application private structure.
Regards,
Olivier
--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare
This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.