DPDK usage discussions
 help / color / mirror / Atom feed
From: Andriy Berestovskyy <aber@semihalf.com>
To: Mahdi Moradmand Badie <mahdi.mbadie@gmail.com>
Cc: users@dpdk.org
Subject: Re: [dpdk-users] [dpdk-dev] how to Read(Write) from(to) via lcores in dpdk regardless of NIC
Date: Wed, 23 Mar 2016 11:49:34 +0100	[thread overview]
Message-ID: <CAOysbxomkvnco4b+RY9p6xfGXB2c_B4Z6TZ+OmTkzWC21p02dg@mail.gmail.com> (raw)
In-Reply-To: <CAM=H7weKrVPLm89E-Nwp-kvF39dTBukwwUOo_z+x=CeOhQgkOQ@mail.gmail.com>

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
<mahdi.mbadie@gmail.com> 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 <aber@semihalf.com> 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
>> <mahdi.mbadie@gmail.com> 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 <mahdi.mbadie@gmail.com>
>> > 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
>> >> <mahdi.mbadie@gmail.com>
>> >> 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 <aber@semihalf.com>
>> >>> 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
>> >>>> <mahdi.mbadie@gmail.com> 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 <hamed.zaghaghi@gmail.com>
>> >>>> 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
>> >>>> >>> <hamed.zaghaghi@gmail.com>
>> >>>> >>> 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

      parent reply	other threads:[~2016-03-23 10:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-07 20:45 [dpdk-users] " Mahdi Moradmand Badie
2016-03-08  4:56 ` Hamed Zaghaghi
2016-03-08  5:15   ` Mahdi Moradmand Badie
2016-03-08  5:35     ` Hamed Zaghaghi
2016-03-08  5:41       ` Mahdi Moradmand Badie
2016-03-08  8:17         ` [dpdk-users] [dpdk-dev] " Andriy Berestovskyy
     [not found]           ` <CAM=H7wdr5mYBeKunk2+aOE_6W2z8VoV1YjiwAsdj_dUtV4D1wQ@mail.gmail.com>
     [not found]             ` <CAM=H7wdgkmAoFaf+vtr4Zk4w1DZLWNdVXTSX4pWuPVj+VzxXDA@mail.gmail.com>
2016-03-08 21:49               ` Mahdi Moradmand Badie
2016-03-09 10:26                 ` Andriy Berestovskyy
     [not found]                   ` <CAM=H7weKrVPLm89E-Nwp-kvF39dTBukwwUOo_z+x=CeOhQgkOQ@mail.gmail.com>
2016-03-23 10:49                     ` Andriy Berestovskyy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOysbxomkvnco4b+RY9p6xfGXB2c_B4Z6TZ+OmTkzWC21p02dg@mail.gmail.com \
    --to=aber@semihalf.com \
    --cc=mahdi.mbadie@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).