@Trahe, Fiona>> We're proposing, in the interest of getting the API out in 
18.05, to stick with mbufs - acknowledging
>> that they're not optimal for storage and we may propose changes in 18.08.
[Shally] Sounds good to us too.

@Ahmed Mansour . I am assuming that transferring from mbuf to regular buffers 
and back does
>not involve some time consuming work like data copying and such.
[Shally] I too assume copying shouldn't be a need and a big no-no. We normally 
extract and pass buf_addr from mbuf as it is to HW.
So implicit assumption is data memory is dma-able to device.

Thanks
Shally

>-----Original Message-----
>From: Ahmed Mansour [mailto:ahmed.mans...@nxp.com]
>Sent: 15 March 2018 00:32
>To: Trahe, Fiona <fiona.tr...@intel.com>; Verma, Shally 
><shally.ve...@cavium.com>; dev@dpdk.org
>Cc: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; Athreya, Narayana 
>Prasad <narayanaprasad.athr...@cavium.com>;
>Gupta, Ashish <ashish.gu...@cavium.com>; Sahu, Sunila 
><sunila.s...@cavium.com>; Challa, Mahipal
><mahipal.cha...@cavium.com>; Jain, Deepak K <deepak.k.j...@intel.com>; Hemant 
>Agrawal <hemant.agra...@nxp.com>; Roy
>Pledge <roy.ple...@nxp.com>; Youri Querry <youri.querr...@nxp.com>; Daly, Lee 
><lee.d...@intel.com>; Jozwiak, TomaszX
><tomaszx.jozw...@intel.com>; Alok Makhariya <alok.makhar...@nxp.com>; 
>Shreyansh Jain <shreyansh.j...@nxp.com>
>Subject: Re: [dpdk-dev] [PATCH] compressdev: implement API - mbuf alternative
>
>Hi All,
>
>Sticking with mbufs until at least 1805 works for us. We also see
>storage as the main use case, but ipcomp maybe an important customer use
>case in the future. Nonetheless, I see the mbuf formatting as inherently
>external to the compressdev APIs. An application doing ipcomp should
>just do the mbuf packaging outside of compressdev. At least that is what
>current software implementation of ipcomp do when using zlib.net. I am
>assuming that transferring from mbuf to regular buffers and back does
>not involve some time consuming work like data copying and such.
>
>Thanks,
>
>Ahmed
>
>On 3/14/2018 2:39 PM, Trahe, Fiona wrote:
>> Hi Shally, Ahmed, et al,
>>
>> Following internal and community feedback we've decided that there's still 
>> too much churn in this.
>> We're proposing, in the interest of getting the API out in 18.05, to stick 
>> with mbufs - acknowledging
>> that they're not optimal for storage and we may propose changes in 18.08.
>> Compressdev will start as an experimental API in 18.05 - we'll POC and 
>> benchmark alternatives
>> or API extensions once we get time to do so.
>>
>> Regards,
>> Fiona
>>
>>> -----Original Message-----
>>> From: Verma, Shally [mailto:shally.ve...@cavium.com]
>>> Sent: Wednesday, March 14, 2018 12:51 PM
>>> To: Trahe, Fiona <fiona.tr...@intel.com>; Ahmed Mansour 
>>> <ahmed.mans...@nxp.com>; dev@dpdk.org
>>> Cc: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; Athreya, 
>>> Narayana Prasad
>>> <narayanaprasad.athr...@cavium.com>; Gupta, Ashish 
>>> <ashish.gu...@cavium.com>; Sahu, Sunila
>>> <sunila.s...@cavium.com>; Challa, Mahipal <mahipal.cha...@cavium.com>; 
>>> Jain, Deepak K
>>> <deepak.k.j...@intel.com>; Hemant Agrawal <hemant.agra...@nxp.com>; Roy 
>>> Pledge
>>> <roy.ple...@nxp.com>; Youri Querry <youri.querr...@nxp.com>; Daly, Lee 
>>> <lee.d...@intel.com>;
>>> Jozwiak, TomaszX <tomaszx.jozw...@intel.com>
>>> Subject: RE: [dpdk-dev] [PATCH] compressdev: implement API - mbuf 
>>> alternative
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Trahe, Fiona [mailto:fiona.tr...@intel.com]
>>>> Sent: 13 March 2018 21:22
>>>> To: Verma, Shally <shally.ve...@cavium.com>; Ahmed Mansour 
>>>> <ahmed.mans...@nxp.com>;
>>> dev@dpdk.org
>>>> Cc: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; Athreya, 
>>>> Narayana Prasad
>>> <narayanaprasad.athr...@cavium.com>;
>>>> Gupta, Ashish <ashish.gu...@cavium.com>; Sahu, Sunila 
>>>> <sunila.s...@cavium.com>; Challa, Mahipal
>>>> <mahipal.cha...@cavium.com>; Jain, Deepak K <deepak.k.j...@intel.com>; 
>>>> Hemant Agrawal
>>> <hemant.agra...@nxp.com>; Roy
>>>> Pledge <roy.ple...@nxp.com>; Youri Querry <youri.querr...@nxp.com>; Daly, 
>>>> Lee
>>> <lee.d...@intel.com>; Jozwiak, TomaszX
>>>> <tomaszx.jozw...@intel.com>; Trahe, Fiona <fiona.tr...@intel.com>
>>>> Subject: RE: [dpdk-dev] [PATCH] compressdev: implement API - mbuf 
>>>> alternative
>>>>
>>>> Hi Shally,
>>>>
>>>>> -----Original Message-----
>>>>> From: Verma, Shally [mailto:shally.ve...@cavium.com]
>>>>> Sent: Tuesday, March 13, 2018 8:15 AM
>>>>> To: Trahe, Fiona <fiona.tr...@intel.com>; Ahmed Mansour 
>>>>> <ahmed.mans...@nxp.com>;
>>> dev@dpdk.org
>>>>> Cc: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; Athreya, 
>>>>> Narayana Prasad
>>>>> <narayanaprasad.athr...@cavium.com>; Gupta, Ashish 
>>>>> <ashish.gu...@cavium.com>; Sahu, Sunila
>>>>> <sunila.s...@cavium.com>; Challa, Mahipal <mahipal.cha...@cavium.com>; 
>>>>> Jain, Deepak K
>>>>> <deepak.k.j...@intel.com>; Hemant Agrawal <hemant.agra...@nxp.com>; Roy 
>>>>> Pledge
>>>>> <roy.ple...@nxp.com>; Youri Querry <youri.querr...@nxp.com>; 
>>>>> fiona.tr...@gmail.com; Daly, Lee
>>>>> <lee.d...@intel.com>; Jozwiak, TomaszX <tomaszx.jozw...@intel.com>
>>>>> Subject: RE: [dpdk-dev] [PATCH] compressdev: implement API - mbuf 
>>>>> alternative
>>>>>
>>>>> HI Fiona
>>>>>
>>>>> So I understand we're moving away from mbufs because of its size 
>>>>> limitation (64k) and cacheline
>>> overhead
>>>>> and their more suitability to n/w applications. Given that, I understand 
>>>>> benefit of having another
>>> structure
>>>>> to input data but then what is proposal for ipcomp like application where 
>>>>> mbuf usage may be a better
>>>>> option? Should we keep support for both (mbuf and this structure) so that 
>>>>> apps can use appropriate
>>> data
>>>>> structure depending on their requirement.
>>>> [Fiona] An application can use pass buffers from an mbuf or mbuf chain to 
>>>> compressdev by filling in the
>>>> compressdev struct fields with the mbuf meta-data, using 
>>>> rte_pktmbuf_data_len(),
>>>> rte_pktmbuf_mtod(), rte_pktmbuf_mtophys(), etc
>>>> For simplicity I'd prefer to offer only 1 rather than 2 data formats on 
>>>> the API.
>>>> We see storage applications rather than IPComp as the main use-case for 
>>>> compressdev, so would prefer
>>>> to optimise for that.
>>>> Do you think otherwise?
>>> [Shally] Yea. We plan to use it for ipcomp and other such possible n/w 
>>> apps. So, we envision mbuf support
>>> as necessary. So, I think we can add two APIs one which process on 
>>> rte_comp_op and other on rte_mbufs
>>> to make it simpler.
>>>
>>>>> Further comments, on github.
>>>>>
>>>>> Thanks
>>>>> Shally
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Trahe, Fiona [mailto:fiona.tr...@intel.com]
>>>>>> Sent: 12 March 2018 21:31
>>>>>> To: Ahmed Mansour <ahmed.mans...@nxp.com>; Verma, Shally 
>>>>>> <shally.ve...@cavium.com>;
>>>>> dev@dpdk.org
>>>>>> Cc: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; Athreya, 
>>>>>> Narayana Prasad
>>>>> <narayanaprasad.athr...@cavium.com>;
>>>>>> Gupta, Ashish <ashish.gu...@cavium.com>; Sahu, Sunila 
>>>>>> <sunila.s...@cavium.com>; Challa,
>>> Mahipal
>>>>>> <mahipal.cha...@cavium.com>; Jain, Deepak K <deepak.k.j...@intel.com>; 
>>>>>> Hemant Agrawal
>>>>> <hemant.agra...@nxp.com>; Roy
>>>>>> Pledge <roy.ple...@nxp.com>; Youri Querry <youri.querr...@nxp.com>; 
>>>>>> fiona.tr...@gmail.com;
>>> Daly,
>>>>> Lee <lee.d...@intel.com>;
>>>>>> Jozwiak, TomaszX <tomaszx.jozw...@intel.com>
>>>>>> Subject: RE: [dpdk-dev] [PATCH] compressdev: implement API - mbuf 
>>>>>> alternative
>>>>>>
>>>>>> Hi Shally, Ahmed, and anyone else interested in compressdev,
>>>>>>
>>>>>> I mentioned last week that we've been exploring using something other 
>>>>>> than mbufs to pass src/dst
>>>>> buffers to compressdev PMDs.
>>>>>> Reasons:
>>>>>> - mbuf data is limited to 64k-1 in each segment of a chained mbuf. Data 
>>>>>> for compression
>>>>>>    can be greater and it would add cycles to have to break up into 
>>>>>> smaller segments.
>>>>>> - data may originate in mbufs, but is more likely, particularly for 
>>>>>> storage use-cases,  to
>>>>>>    originate in other data structures.
>>>>>> - There's a 2 cache-line overhead for every segment in a chain, most of 
>>>>>> this data
>>>>>>    is network-related, not needed by compressdev
>>>>>> So moving to a custom structure would minimise memory overhead, remove 
>>>>>> restriction on 64k-1 size
>>> and
>>>>> give more flexibility if
>>>>>> compressdev ever needs any comp-specific meta-data.
>>>>>>
>>>>>> We've come up with a compressdev-specific structure using the struct 
>>>>>> iovec from sys/uio.h, which is
>>>>> commonly used by storage
>>>>>> applications. This would replace the src and dest mbufs in the  op.
>>>>>> I'll not include the code here - Pablo will push that to github shortly 
>>>>>> and we'd appreciate review
>>>>> comments there.
>>>>>> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpablodelara%2Fdpdk-draft-
>compressdev&data=02%7C01%7Cahmed.mansour%40nxp.com%7C6a8977f9b3714d58621708d589dae567%7C686ea1d3bc2b4c6fa92cd
>99c5c301635%7C0%7C0%7C636566495639618830&sdata=wmFrxeUNyXdxI5%2Fp5gCmyIRfeDnbHebBJXbztqdsMrc%3D&reserved=0
>>>>>> Just posting on the mailing list to give a heads-up and ensure this 
>>>>>> reaches a wider audience than may
>>> see
>>>>> it on github.
>>>>>> Note : We also considered having no data structures in the op, instead 
>>>>>> the application
>>>>>> would supply a callback which the PMD would use to retrieve meta-data 
>>>>>> (virt address, iova, length)
>>>>>> for each next segment as needed. While this is quite flexible and allow 
>>>>>> the application
>>>>>> to keep its data in its native structures, it's likely to cost more 
>>>>>> cycles.
>>>>>> So we're not proposing this at the moment, but hope to benchmark it 
>>>>>> later while the API is still
>>>>> experimental.
>>>>>> General feedback on direction is welcome here on the mailing list.
>>>>>> For feedback on the details of implementation we would appreciate 
>>>>>> comments on github.
>>>>>>
>>>>>> Regards,
>>>>>> Fiona.
>

Reply via email to