From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f172.google.com (mail-io0-f172.google.com [209.85.223.172]) by dpdk.org (Postfix) with ESMTP id 7EF482BA1 for ; Wed, 23 Mar 2016 11:50:28 +0100 (CET) Received: by mail-io0-f172.google.com with SMTP id m184so31406281iof.1 for ; Wed, 23 Mar 2016 03:50:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=q2zqjLX5T9NsjizO/WPYmLulAuy4J13wWUWoCRND8kQ=; b=C/UdZKKUo7fLH2KVHMSJfbbYkecyd2GG7vk5EWJCXyNkm/OTiX2YTiph8nsx4BF8gc I0zRBpBgUeffstk3uTLRaDzA70gNxfHc4oL69w1locS4xF1VcOc6o6Zo/j4tHP+Zobin ORAzSjHuLh9TtdCyn52cZH/o5z6ASjeawEwra/99NCkcz3KJSnh7HOy7wl1REopRC45E /xHtKxXEpaAsZyq3rJyRZVYaDuwo7ERuZ+nilM1/vorO16qQ6VvfIvseR/jYHh7Uzsz/ VGZoiB0uGEScX6qtV5rnwz7vteksYD0tJDelTdKwQcfyoEO5UN8d983CFxOZ/e6Ra73b G1vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=q2zqjLX5T9NsjizO/WPYmLulAuy4J13wWUWoCRND8kQ=; b=Ax7lxiKfcSGF39XTRzIVrwQbsa79ZYIJhaYZl5E6qPouGRwOrEMRG9L/+O9rVT26gd tqfqJIXw9aRobgAm3jWJnVhr9nkRrWE16dw7SLt05jfvVlo1LWrVQEq2rFRBJqD380tS cG2UKlMobatNP6f0yCg+PFUee1M1gWWAiT9QvG5WxFcOWKyaYeadvDEPXnlVgeRWTJ4e mwf++/ds948MYaNr4lpXx7oPKj7agAuAYV3PnqeOkk8EOHxo0/UzMMzgFTwDKV9uXvf/ w+e2KELF2vkT1RW+rGEB/a1WtBoFJtTkJJqQfacq19b7IAlxz0iq4X6AyLvnWXmof0sP cp1Q== X-Gm-Message-State: AD7BkJIL/cKu70TdSQDK/1wlkRNeFNjP3Ge5R9YXrGYKB7pSWRObK/DXM73rCXB6NXpId8wiY+goKwD+PwAvyA== X-Received: by 10.107.170.80 with SMTP id t77mr2954751ioe.71.1458730194112; Wed, 23 Mar 2016 03:49:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.33.201 with HTTP; Wed, 23 Mar 2016 03:49:34 -0700 (PDT) In-Reply-To: References: From: Andriy Berestovskyy Date: Wed, 23 Mar 2016 11:49:34 +0100 Message-ID: To: Mahdi Moradmand Badie Cc: users@dpdk.org Content-Type: text/plain; charset=UTF-8 Subject: Re: [dpdk-users] [dpdk-dev] how to Read(Write) from(to) via lcores in dpdk regardless of NIC X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2016 10:50:28 -0000 Hi Mahdi, Good to hear that you have coped with your task! ;) CPU caches are transparent, you cannot access them directly. You might assume that rte_ring you use is actually in a shared cache. So, basically, there is nothing to replace, you are done. You might want to read the big picture description of CPU caches in this article: http://lwn.net/Articles/252125/ Andriy On Tue, Mar 22, 2016 at 6:33 PM, Mahdi Moradmand Badie wrote: > Dear Andriy, > I did my task with the help of rte_ring, but now I wanna replace rte_ring > with real share cache(L3), > May I ask you if there is any possibility in DPDK in order to do it. > Thanks in advance, > > On 9 March 2016 at 05:26, Andriy Berestovskyy wrote: >> >> Mahdi, >> 1. Sure, the rte_ring is another good way to communicate between the >> lcores. If you have just one "worker" lcore or you do not care about >> packet ordering, you might prefer using rte_ring over the >> rte_distributor. >> >> >> 2. For the simplicity, you might assume that any of your shared >> structures (rte_ring or rte_distributor) eventually get into the >> cache. >> >> Andriy >> >> On Tue, Mar 8, 2016 at 10:49 PM, Mahdi Moradmand Badie >> wrote: >> > Another issue, ;) >> > How I could access to the share memory cache of lcores (L3), the >> > rte_ring >> > is exactly that?? >> > >> > On 8 March 2016 at 13:08, Mahdi Moradmand Badie >> > wrote: >> > >> >> Dear Andriy, >> >> Sorry for interrupt again, >> >> As I see in rte_distributor, it is using rte_eth (ethernet), while I >> >> wanna without using any NIC because I don't have it on my personal >> >> computer >> >> :) >> >> >> >> On 8 March 2016 at 11:49, Mahdi Moradmand Badie >> >> >> >> wrote: >> >> >> >>> Thanks so much Andriy, >> >>> Regarding cross-post, yes you are right sorry about that and of course >> >>> afterwards. >> >>> >> >>> On 8 March 2016 at 03:17, Andriy Berestovskyy >> >>> wrote: >> >>> >> >>>> Hi Mahdi, >> >>>> Looks like the DPDK's rte_distributor is the right tool for your >> >>>> task. >> >>>> Please have a look at: >> >>>> http://dpdk.org/doc/guides/prog_guide/packet_distrib_lib.html >> >>>> >> >>>> There is also the Distributor Sample Application in DPDK: >> >>>> http://dpdk.org/doc/guides/sample_app_ug/dist_app.html >> >>>> >> >>>> >> >>>> Please do not cross-post to dev@ mailing list. >> >>>> >> >>>> Regards, >> >>>> Andriy >> >>>> >> >>>> On Tue, Mar 8, 2016 at 6:41 AM, Mahdi Moradmand Badie >> >>>> wrote: >> >>>> > I wanna create for example 3 different packets in core_0 as master >> >>>> > and >> >>>> > store them one by one in share memory(rte_ring), >> >>>> > then the core_1 as slave read them and do function on them (ex. >> >>>> P1+P2+P3) >> >>>> > and again store in share memory, finally the core_0 read the >> >>>> > packets >> >>>> from >> >>>> > share memory and compare them with whatever expected :) >> >>>> > As I said and you mentioned is the same? :) >> >>>> > >> >>>> > On 8 March 2016 at 00:35, Hamed Zaghaghi >> >>>> wrote: >> >>>> > >> >>>> >> Hi, >> >>>> >> >> >>>> >> If I understood well you need to do these tasks: >> >>>> >> 1. Packet crafting (I think that DPDK has no functions for this >> >>>> >> task) >> >>>> >> 2. Store packets (DPDK has (rte_mbuf)[ >> >>>> >> http://dpdk.org/doc/api/rte__mbuf_8h.html]) >> >>>> >> 3. Share between lcores (DPDK offers rte_ring) >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> On Tue, Mar 8, 2016 at 8:45 AM Mahdi Moradmand Badie < >> >>>> >> mahdi.mbadie@gmail.com> wrote: >> >>>> >> >> >>>> >>> Dear Hamed, >> >>>> >>> >> >>>> >>> First of all thank you so much for your kindly reply, >> >>>> >>> >> >>>> >>> It's the primary part of the big project, in order to be more >> >>>> familiar >> >>>> >>> with DPDK, >> >>>> >>> I have to implement the mentioned framework by use of DPDK, >> >>>> >>> And finally we wanna implement the cache locking approach (via >> >>>> >>> help >> >>>> of >> >>>> >>> features like Cache Allocation Technology(CAT), Cache Monitoring >> >>>> Technology >> >>>> >>> (CMT)) in Xeon processor (my supervisor told me this simple >> >>>> >>> exercise >> >>>> >>> will be helpful to do the final part) in such a way we could >> >>>> dedicate a >> >>>> >>> specific part of shared memory (L3) to each core which the other >> >>>> don't >> >>>> >>> access to it. >> >>>> >>> Obviously using of DPDK with Xeon which both are from "Intel", is >> >>>> >>> considered as strength point. >> >>>> >>> >> >>>> >>> I hope this was more clear :) >> >>>> >>> >> >>>> >>> On 7 March 2016 at 23:56, Hamed Zaghaghi >> >>>> >>> >> >>>> >>> wrote: >> >>>> >>> >> >>>> >>>> Hi Mahdi, >> >>>> >>>> >> >>>> >>>> Why do you want to use DPDK when you don't use NIC? You can do >> >>>> >>>> what >> >>>> you >> >>>> >>>> want outside of DPDK. >> >>>> >>>> >> >>>> >>>> Regards, >> >>>> >>>> Hamed Zaghaghi >> >>>> >>>> >> >>>> >>>> On Tue, Mar 8, 2016 at 12:16 AM Mahdi Moradmand Badie < >> >>>> >>>> mahdi.mbadie@gmail.com> wrote: >> >>>> >>>> >> >>>> >>>>> Dear All, >> >>>> >>>>> I am Mahdi and I am new in DPDK, >> >>>> >>>>> I wanna generate for example 3 different packets in core0 as >> >>>> >>>>> master >> >>>> >>>>> write >> >>>> >>>>> it to share memory (L3), then core1 as slave read this packets, >> >>>> change >> >>>> >>>>> them >> >>>> >>>>> with for example function1 and write again in share memory (L3) >> >>>> >>>>> and >> >>>> >>>>> finally >> >>>> >>>>> check the result with whatever I expect. >> >>>> >>>>> The most important thing is that I don't wanna use NIC and I >> >>>> >>>>> don't >> >>>> know >> >>>> >>>>> for >> >>>> >>>>> working with cores how I can write/read to/from them, I mean >> >>>> >>>>> with >> >>>> which >> >>>> >>>>> template and sequence??? >> >>>> >>>>> Thanks in advance, >> >>>> >>>>> >> >>>> >>>> >> >>>> >>> >> >>>> >>> >> >>>> >>> -- >> >>>> >>> M@hdi Mor@dm@nd B@die >> >>>> >>> >> >>>> >> >> >>>> > >> >>>> > >> >>>> > -- >> >>>> > M@hdi Mor@dm@nd B@die >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Andriy Berestovskyy >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> M@hdi Mor@dm@nd B@die >> >>> >> >> >> >> >> >> >> >> -- >> >> M@hdi Mor@dm@nd B@die >> >> >> > >> > >> > >> > -- >> > M@hdi Mor@dm@nd B@die >> >> >> >> -- >> Andriy Berestovskyy > > > > > -- > M@hdi Mor@dm@nd B@die -- Andriy Berestovskyy